Ich lerne innere und äußere Klassen in Java. Ich weiß, was innere und äußere Klassen sind und warum sie benutzt werden. Ich bin auf die folgende Frage zu diesem Thema gestoßen und konnte keine Antwort finden.Wie definiert man den Konstruktor einer Unterklasse, die eine innere Klasse erbt?
class outer{
class inner{
}
}
class SubClass extends outer.inner{
}
Frage: Wie sollte die minimale Unterklasse Konstruktor definiert werden
Angenommen wird der folgende Code gegeben? und warum?
Option 1-
Subclass() {
//reason: bacause the default constructor must always be provided
}
Option 2-
Subclass (Outer outer) {
//reason : because creating an instance of **Subclass** requires an instance
//of outer, which the **Subclass** instance will be bound to
}
Option 3-
Subclass (Outer outer) {
outer.super();
//reason : because creating an instance of **Subclass** requires an explicit
//call to the **Outer's** constructor, in order to have an enclosing instance
//of **Outer** in scope.
}
Option 4-
Subclass (Outer.inner inner) {
//reason : bacause an instance of **inner** is necessary so that there is a
//source to copy the derived properties from
}
PS. Dies ist eine Multiple-Choice-Frage. Nur noch 1 Antwort
erwartetIch bin neu zu Java und weiß nicht viel über diese Themen für Fortgeschrittene
Dank
ich keine der oben genannten glauben, und dass dies ein Fall für einen [Receiver Parameter - JLS # 8.4.1] (http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.1). – EJP