1. 程式人生 > >java中父類和子類的關係和使用

java中父類和子類的關係和使用

在java中規定:一個父類可以有多個子類,但是一個子類只能有一個父類。子類可以通過extends關鍵字來繼承父類。做個比較通俗的比喻,就像一個父親可以有多個親孩子,但是一個孩子只能有一個親生父親。

1.繼承以及重寫:子類繼承父類是對父類屬性和方法的全面繼承,同時子類在繼承了父類的方法後,可對父類的方法進行重寫。

public class Son extends Fat{

private int b;

private String h1;

public void   sss() {

System.out.println("我要學好英語");    //在這我們對父類中的sss()方法進行了重寫

}

public void   iii() {

System.out.println("今天天氣真好");  // 在這我們添加了子類特有的方法

}

}

class Fat{

 public int a=5;

private String h;

public void   sss() {

System.out.println("我要學好java");

}

}

2.父類用作物件的宣告型別,構造器用子類的構造器(有點類似於介面和實現類的物件的關係)。這樣使得我們的應用場景和範圍更為靈活和廣泛。我們知道一個父類可以有多個子類,這樣我們可以在宣告的時候用父類,在具體的構造器時,我們用子類。這時,這個新生成的物件是父類型別的物件,也就是說這個物件中目前只有父類的屬性和方法(如果子類重寫,則用子類重寫的方法)。如果我們需要呼叫子類中特有的方法和屬性,則我們需要將該物件強制轉換成子類型別的物件。看下面程式碼

public class TestSon {

public static void main(String[] args) {

Fat s=new Son();     //我們在這進行了父類用作物件的宣告型別,構造器用子類的構造器。

s.sss();                    //我們呼叫了物件中的sss()方法,為我們重寫過的方法

System.out.println(s.a);    //  我們展示了父類中屬性a的值,此處為public(沒有進行封裝)

Son y=(Son)s;             //將s物件轉