Ich habe dieses Problem gefunden und ich verstehe nicht, warum Konstruktoren im ersten Fall geerbt werden. Soweit ich weiß, werden Konstruktoren nicht vererbt. Fehle ich etwas sehr Wichtiges?Konstruktoren werden nicht vererbt, sondern verhalten sich seltsam
class Bird {
{ System.out.print("b1 ");}
public Bird() {System.out.print("b2 ");}
class Raptor extends Bird
{
static {System.out.print("r1 ");}
public Raptor() {System.out.print("r2 ");}
{
{ System.out.print("r3 ");}
static {System.out.print("r4 ");}
}
class Hawk extends Raptor
{
public static void main(String[] args)
{
System.out.print("pre ");
new Hawk();
System.out.println("hawk ");
}
}
Die Antwort für die oben ist:
r1 r4 pre b1 b2 r3 r2 Habicht
Bereinigen Sie Ihre Formatierung und präzisieren Sie, was Sie demonstrieren möchten. – shmosel
Das sieht logisch aus. Was ist die Frage? Was verstehst Du nicht? –
Ich fragte, wie die Ausgabe kam – sri