Dlaczego jest drukowany jako ostatni "Jestem klasą dziecięcą". ?Dziedziczenie Java
public class Parent
{
String parentString;
public Parent()
{
System.out.println("Parent Constructor.");
}
public Parent(String myString)
{
parentString = myString;
System.out.println(parentString);
}
public void print()
{
System.out.println("I'm a Parent Class.");
}
}
public class Child extends Parent
{
public Child() {
super("From Derived");
System.out.println("Child Constructor.");
}
public void print()
{
super.print();
System.out.println("I'm a Child Class.");
}
public static void main(String[] args)
{
Child child = new Child();
child.print();
((Parent)child).print();
}
}
wyjściowa:
From Derived
Child Constructor.
I'm a Parent Class.
I'm a Child Class.
I'm a Parent Class.
I'm a Child Class.
Dobre pytanie i dobra odpowiedź. Jest to również dobre w prawdziwych programach; Twój kod może się zepsuć, jeśli przez przypadek masz jakiś kod, który nazwał implementację rodzica. – Tormod