Completion of the courseware in the hands of the brain or need to verify the relevant content:
1
Run the Testinherits.java sample, observe the output, and note that the call relationship between the parent class and the subclass constructs a method to modify the code of the parent constructor method, and to explicitly call another constructor of grandparent
SOURCE program code:
Class Grandparent {
Public grandparent () {
System.out.println ("Grandparent Created.");
}
Public grandparent (String string) {
System.out.println ("Grandparent created.string:" + String);
}
}
Class Parent extends Grandparent {
Public Parent () {
Super ("hello.grandparent.");
System.out.println ("Parent Created");
Super ("hello.grandparent.");
}
}
Class Child extends Parent {
Public Child () {
System.out.println ("Child Created");
}
}
public class test{
public static void Main (String args[]) {
Child C = new Child ();
}
}
Operation Result:
Thinking:
Why do I have to call the construction method of the parent class before the constructor of the subclass is run? Can you turn around? Why can't it be reversed?
Constructs an object that first calls its constructor method to initialize its member functions and member variables. A subclass has member variables and member methods of the parent, and if not called, the member variables and member methods inherited from the parent class are not properly initialized.
cannot be reversed.
2
SOURCE program code:
public class Test {
/**
* @param args
*/
public static void Main (string[] args) {
System.out.println (New A ());
}
}
Class a{}
Operation Result:
SOURCE program code:
public class Fruit
{
Public String toString ()
{
Return "Fruit toString.";
}
public static void Main (String args[])
{
Fruit f=new Fruit ();
System.out.println ("f=" +f);
System.out.println ("f=" +f.tostring ());
}
}
Operation Result:
interface and inheritance after class job