Por exemplo nessa instrução:
Test myTest = new Test();
Test myTest -> Eu estou criando uma variável do tipo Test
new Test(); -> Eu estou criando um novo objeto Test
= ->Estou atribuindo o objeto Test a variável myTest
Está correto assim?
Seria um erro de compilação apenas isso? Test myTest;
Nesse caso a referencia seria nula?
Pelo que você falou é isso mesmo:
Test myTest = new Test(); // instanciação
Uma variavel é nula quando ainda não foi instanciada, ou seja, ainda não “virou” um objeto.
Não sei se era essa sua dúvida…
[quote=RafaelViana]Por exemplo nessa instrução:
Test myTest = new Test();
Test myTest -> Eu estou criando uma variável do tipo Test
new Test(); -> Eu estou criando um novo objeto Test
= ->Estou atribuindo o objeto Test a variável myTest
Está correto assim?
Seria um erro de compilação apenas isso? Test myTest;
Nesse caso a referencia seria nula?[/quote]
Não seria um erro de compilação.
A referência é nula porque não foi atribuído nenhum objeto à ela ainda (não precisa criar um objeto na Heap. Se você atribuir um objeto já existente, ela deixa de ser nula). Por exemplo:
V v1 = new V(); // criou um objeto na Heap
V v2; // v2 aponta para o 'nada', entao e nula
v2 = v1; // v1 e v2 apontam para o mesmo objeto
v1 e v2 são só referências. Chamar v1 e v2 de objetos é errado.
Abraço.
A variável é nula se ela foi criada e não referencia nenhum objeto certo?
Se for isso mesmo era só
Valeu
[quote=RafaelViana]A variável é nula se ela foi criada e não referencia nenhum objeto certo?
Se for isso mesmo era só
Valeu[/quote]
É.
[quote=RafaelViana]
Seria um erro de compilação apenas isso? Test myTest;
Nesse caso a referencia seria nula?[/quote]
soh seria erro de compilaçao se a variavel estiver sendo declarado dentro de um metodo/for/etc e
vc tiver tentando usa-la antes de inicializa-la.