Ich habe Eltern- und Kindklassen, in denen die Elternklasse eine Methode hat - getData
. Ich kann diese Methode direkt von der Kindklasse aufrufen, mit oder ohne ein Objekt zu erstellen. Ich frage mich, wie die Methode in der Kindklasse verfügbar wird, ohne ein Objekt zu erstellen. (Es ist auch keine statische Methode) Es war mein Verständnis, dass wir ein Objekt für den Zugriff auf die Methoden erstellen müssen. Kann mir bitte jemand erklären warum?Java - Bei der Vererbung kann die Methode aufgerufen werden, ohne eine Klasse zu erstellen
public class testbase {
public void getData(String Data) throws IOException{
Properties prop1;
prop1= new Properties();
FileInputStream f= new FileInputStream("C:\\file.properties");
prop1.load(f);
String data= prop1.getProperty(Data);
System.out.println(data);
}
}
class testproperties_file extends testbase {
@Test
public void test_class() throws IOException{
getData("name");
}
}
Was meinst du * "ohne ein Objekt zu erstellen" *? Sie erstellen eine Instanz von 'testproperties_file', nicht wahr? – UnholySheep
Eine untergeordnete Instanz ** ist ** eine übergeordnete Instanz. Das ist der ganze Sinn der Vererbung. Wenn ein Tier rennen kann, dann kann ich einen Hund bitten zu rennen, weil ein Hund ein Tier ist. –
Wenn die Ausführung in der Kindklasse ist, ist die Invokation auf "this". Es bezieht sich auf das aktuelle Objekt.Und wenn Sie die Methode 'test_class' aufrufen, wird sie für das Objekt' testproperties_file' aufgerufen. – Sid