A instância de classe chama o método estático (Java)

Prefácio

A primeira vez que vi que você pode chamar métodos estáticos através de instâncias de classe em Java. Obviamente, isso não é recomendado para evitar problemas inesperados. Falarei sobre isso mais tarde, mas chamar métodos estáticos através de instâncias de classe em C # não compila Passará, faça uma anotação aqui.

A instância de classe chama o método estático

Primeiro, vejamos um exemplo simples para explicar por que métodos estáticos não podem ser chamados por meio de instâncias de classe. Sabemos que um objeto não instanciado lançará uma exceção de ponteiro nulo ao chamar o método ou campo correspondente, como o seguinte:

public  static  void main (String [] args) { 
    Objeto o = null ; 
    System.out.println (o.toString ()); 
}

No entanto, se for aplicado a um método estático, ocorrerão problemas inesperados, como o exemplo a seguir:

public  class Player {
     public  static  final String type = "Human" ; 

    int int privado  ; public static String getType () {
         tipo de retorno ; 
    } public int getAge () {
         return age; 
    } 
}

     

     
public  static  void main (String [] args) { 
    Player player = null ; 
    System.out.println (player.getType ()); 
    System.out.println (player.getAge ()); 
}

O objeto acima não é instanciado, mas o método estático de chamar sua variável não gera uma exceção e imprime o resultado.É claro que a resposta também é muito simples, porque o método estático pertence à classe e não à instância da classe, então a chamada acima  player.getType ( )  Essencialmente, Player.getType () é chamado   . 

Sumário

A possibilidade de chamar métodos estáticos através de instâncias de classe em Java pode ser uma falha no design original. Claro, essa é apenas minha especulação pessoal. Não a estudei muito. Vejo que ela não é compilada e pode funcionar normalmente. Há uma grande diferença em relação ao C #, portanto, o registro é resumido.

Acho que você gosta

Origin www.cnblogs.com/CreateMyself/p/12676723.html
Recomendado
Clasificación