package br.com.construtor;
public class Teste {
String word = "palavra";
public static void main(String[] args) {
new Teste().fala(); // nao entendi essa parte do codigo quando do um new Teste()
// o que faz ele cria um objeto? e acessa a string word?
}
void fala(){
System.out.println(this.word + " word");
}
}
Acredito que, seja apenas instancia de uma classe.
Seria o equivalente a isso:
Teste teste = new Teste();
teste.fala();
é apenas uma chamada ao método fala.
mais como fica essa instancia na memoria heap do java? por exemplo se eu criar uma nova instancia
Teste teste2 = new Teste()
eu nao consigo por exemplo comparar a referencia dessas instancias, algo como:
if(teste2.equals(???)) entendeu?
Cara eu acredito que não funcione, pois ali, vc está comparando uma referencia na memoria com alguma coisa.
Posso estar enganado, mas faça algo assim pra vc ter uma ideia:
public static void main(String[] args) {
Teste teste = new Teste();
teste.fala();
if (teste.equals("algumaPalavra")) {
System.out.println("igual");
} else {
System.out.println("n igual " + teste);
}
}