Referência NULL

7 respostas
diego2005

Boa tarde a todos. Estou com uma dúvida aki, se alguem puder me ajudar é o seguinte:

Por exemplo, tenho o seguinte objeto:

Rectangle r;

Eu sei que pra testar se ele tem uma referência null eu faço assim:

if(r == null)

Mas pra fazer isso eu tenho que ter instanciado o objeto. Queria saber quando ele vai ter referência null.

Grato…

7 Respostas

peron

não entendi…
porém,

se vc tem

class ClasseTeste {

    private Rectangle r;

    public ClasseTeste() {
       //como vc ainda nao instanciou ele, se vc fizer
       if (r == null) {
           //vai entrar aqui, porque r está apontando pra nada (vc nao mandou ele apontar pra nenhum objeto.
           System.out.println("r é null";
       }

       //agora vou apontar r pra um objeto Rectangle
       this.r = new Rectangle();
      
       //se eu fizer o mesmo teste, agora nao entra no if
       if (r == null) { System.out.println("r é null"; }
    }
}

ajudou?

diego2005

Então…foi isso que tentei fazer, mas deu erro na linha:

if (r == null)

acho que ele ta reclamando que o r não foi instanciado…pq eu criei uma instancia só pra testar e ele não deu erro mais. To usando o NetBeans.

Tem explicação isso??

Valeu…

peron

hummm…

posta o erro ai…

David

O erro que deu foi dizendo que r não foi inicializado, e não instanciado. Você pode inicializá-lo com null, com um Rectangle existente ou com uma nova instância de Rectangle.

diego2005

Código:

Rectangle r; if(r == null) System.out.println("Objeto null");

Erro:

variable r might not have been initialized.

Valeu…

_Renatu

olá

quando voce declara um objeto, ele ainda nao tem referencia null…

se voce quer que ele tenha referencia null, faça

Rectangle r = null;

aí sim voce vai poder fazer o teste

if (r==null) System.out.println(“é null”);

isso significa que voce está inicializando a variavel com o valor null.
é disso que ele ta reclamando.

boa sorte!

diego2005

ah sim, obrigado.

Criado 1 de maio de 2006
Ultima resposta 1 de mai. de 2006
Respostas 7
Participantes 4