Operador New

// 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

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

Ae, agora entendi,

Brigadão :slight_smile:

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

[]s

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