2016-03-31 12 views
1

Was ist der Unterschied zwischen den folgenden Deklarationen? Und wann werden sie benutzt?Java: Vererbung und Deklarationen

ParentClass child = new ChildClass(); 
ChildClass child = new ChildClass(); 

... wenn ich das schon haben:

class ChildClass extends ParentClass {} 
+1

Die erste Instanz hat Zugriff auf Kind * und * Elternmethoden, Variablen usw. Die zweite Instanz ist eine eigenständige Instanz und hat nur Zugriff auf ihre eigenen Methoden, Variablen usw. –

Antwort

1

Lassen Sie uns sagen, dass Sie in ParentClassfoo() erklärt, ein Verfahren und eine Methode bar() in ChildClass. Seit ChildClass erweitert ParentClass - es erbt auch die foo() Methode.

Im ersten Fall könnten Sie child.bar(); nicht aufrufen, weil ParentClass keine Methode namens bar() hat.

Gleiches gilt für Variablen, innere Klassen usw. Weitere Informationen finden Sie unter Oracle documentation.