2015-07-25 7 views

Antwort

9

Von xyzws,

Eine Klasse eine Variable mit dem gleichen Namen wie eine geerbte Variable von der übergeordneten Klasse deklarieren kann, so „versteckt“ oder die geerbte Version Shadowing. (Das ist wie zwingende, aber für Variablen.)

Also im Grunde verstecken bedeutet, dass Sie eine Variable mit dem gleichen Namen wie eine Variable von einem vererbten Bereich erstellt haben, und die Warnung nur ist so dass Sie wissen, dass Sie hab es geschafft (falls du Zugriff auf die vererbte Variable sowie die lokale Variable benötigt hast).

Ein Beispiel ist:

public class Base { 
    public String name = "Base"; 
    public String getName() { return name; } 
} 


public class Sub extends Base { 
    public String name = "Sub"; 
    public String getName() { return name; } 
} 

In diesem Beispiel verbirgt Sub den Wert name von Base gegeben mit seinem eigenen Wert - "Sub". Eclipse warnt Sie - nur für den Fall, dass Sie den ursprünglichen Wert der Variablen name - "Base" benötigen.

+2

wow, das war eine nette Erklärung, Danke Kumpel. – theapache64