Ref null com variável de instância estática

Galera, tenho outra dúvida . . .

Seguindo este código…

class MyClass {
  static String myName = "SCJP";

  MyClass getMyClass() {
    System.out.println(myName);
    return null;
  }

  public static void main(String[] args) {
    System.out.println(new MyClass().getMyClass.myName);
  }
}

porque imprime:

SCJP

duas vezes? Não teria que dar erro em tempo de execução por causa da ref. null?

8O

donatinho

Olá donatinho,

Mesmo a referência de MyClass sendo null, você consegue acessar a propriedade myName porque ela é estática, e propriedades estáticas não dependem de uma instância de um objeto (nesse caso, a instância é null), elas dependem da classe. Isso aí é um pouco estranho, mas é assim mesmo.

Até mais, :wink:

Valeu cara!!!

obrigado

donatinho