Operador New

3 respostas
A
// classe de numero

class numero {

double x=1;
public void print1() {

System.out.println("O valor e "+x);

}

void print2() {

System.out.println("O valor e "+x);

}

}
// classe principal

public class PrintNum {

public static void main(String args[]) {

numero num = new numero();           [color=red] //NAO ENTENDI ESTA LINHA,PQ NUMERO NUM?[/color]
num.print1(); // correto
num.print2(); // ilegal

}
}

Alguem poderia me exlpicar no local documentado?

Obrigado

3 Respostas

iogui

Olá, Anhaya,

Primeiro… sempre que postar código, use as tags code. Olha só como fica mais fácil a leitura:

//classe de numero
class Numero {
	double x = 1;

	public void print1() {
		System.out.println("O valor e " + x);
	}

	void print2() {
		System.out.println("O valor e " + x);
	}
}

// classe principal
public class PrintNum {
	public static void main(String args[]) {
		Numero num = new Numero(); // a variavel num (que é do tipo Numero) recebe um novo objeto do tipo Numero

		num.print1(); // correto
		num.print2(); // ilegal
	}
}

Segundo, criar uma classe cuja primeira letra seja minúscula, é uma heresia. Vc pode fazer mas vai ser excomungada por isto. Então a classe numero deveria se Numero.

Quanto a sua dúvida, new é o operador que instancia o objeto.
Quando você está usando “class Numero …” está apenas criando a classe numero, neste momento, vc não tem uma instância de objeto, só a classe. E classe é apenas a definição de como funcionarão os objetos que serão sua instância.
Imagine classe como algo abstrato, uma definição de algo. e Instância de Objeto como algo concreto que passa a ter existência, não é mais apenas uma definição.

[]s

A

Ae, agora entendi,

Brigadão :slight_smile:

Ps: Vou utilizar os tags, é q sou novo aqui no forum ainda.

[]s

Natalia_Lima

Então mais uma dica…
quando conseguir as respostas que precisa, edite o assunto do seu tópico colocando
[RESOLVIDO]

Criado 29 de janeiro de 2011
Ultima resposta 29 de jan. de 2011
Respostas 3
Participantes 3