1. 程式人生 > >JAVA課堂動手動腦

JAVA課堂動手動腦

實驗心得:

1.

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關鍵字。

3.當子類與父類擁有一樣的方法,並且讓一個父類變數引用一個子類物件時,到底呼叫哪個方法,由物件自己的“真實”型別所決定,這就是說:物件是子型別的,它就呼叫子型別的方法,是父型別的,它就呼叫父型別的方法。

4.型別轉換

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;

    }
}

 子類物件可以直接賦給基類變數。

基類物件要賦給子類物件變數,必須執行型別轉換,

其語法是: 子類物件變數=(子類名)基類物件名;