實驗心得:spa
1.code
package test; 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 TestInherits { @SuppressWarnings("unused") public static void main(String args[]) { Child c = new Child(); } }
經過 super 調用基類構造方法經過 super 調用基類構造方法,必須是子類構造方法中的第一個語句。對象
2.在子類中,若要調用父類中被覆蓋的方法,能夠使用super關鍵字。blog
3.當子類與父類擁有同樣的方法,而且讓一個父類變量引用一個子類對象時,到底調用哪一個方法,由對象本身的「真實」類型所決定,這就是說:對象是子類型的,它就調用子類型的方法,是父類型的,它就調用父類型的方法。string
4.類型轉換it
package test; class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} public class TestCast { public static void main(String args[]) { Mammal m; Dog d=new Dog(); Cat c=new Cat(); m=d; //d=m; d=(Dog)m; //d=c; //c=(Cat)m; } }
子類對象能夠直接賦給基類變量。ast
基類對象要賦給子類對象變量,必須執行類型轉換,class
其語法是: 子類對象變量=(子類名)基類對象名;test