Bom dia,
Eu não entendi essa questão! Quando eu faço new + construtor() estou criando um novo objeto, no exemplo eu tenho 3 instruções como essa dentro do escopo do for, ele criou novos objetos ou está acessando o mesmo? Eu não entendi.
Bom dia,
Eu não entendi essa questão! Quando eu faço new + construtor() estou criando um novo objeto, no exemplo eu tenho 3 instruções como essa dentro do escopo do for, ele criou novos objetos ou está acessando o mesmo? Eu não entendi.
Ola, Diego santana fernandes !
Sim você esta correto, cada vez que executar o new
, você estará criando um nova instancia.
Se passar em um for, e dentro dele executar um new a cada iteração, irá criar novas instancias.
Abraço!
Boa tarde Cristiano!
Então esse loop é infinito?
Diegão !
Da uma olhada nesse trecho do for new Teste().i < 100
Ele vai executar o for enquanto Teste().i
for menor do que 100.
for (new Teste().i = 10; new Teste().i < 100;
new Teste().i++) {
System.out.println(i);
}
Endenteu agora ?
Abraço!
Exato!
Eu queria saber se eu criei 3 instâncias de objeto?
for ( new Teste(){1º objeto}.i = 10; new Teste()[2º objeto}.i < 100; new Teste(){3º objeto}.i++)
eu entendi que .i é um acesso ao membro, o problema é saber se eu estou instanciando um novo objeto em cada parâmetro do for, ou o compilador entende que é o mesmo objeto? como fazemos com uma variável int, sabemos que ele está referenciando a mesma variável, isso ocorre também com o objeto? Toda vez que dou new Teste().i estou simplesmente referenciado o membro do objeto que foi criado na atribuição do valor 10 ao membro?
Então dentro da declaração do for eu estou criando uma única instância e fazendo referência sequentemente? E dentro do escopo do for quando instancio um objeto estou criando um novo, é isso?
Diego.
Cada vez que ele passar pelo for
ele vai instanciar 3 vezes o new Teste()
.
Um teste que vc pode fazer é criar um construtor vazio na classe teste e colocar um System.out.println("Passei pelo construtor")
.
Assim você pode acompanhar cada vez que ele passa pelo construtor.
Blz ?
Abraço!