在Java中,一個類可以被另一個類繼承。繼承的類被稱為子類,被繼承的類被稱為父類。 Java中的類繼承機制比較簡單,子類可以繼承父類的屬性和方法,也可以在不影響父類的情況下添加自己的屬性和方法。在Java中,父類和子類的初始化加載是按照一定規(guī)則來進行的。
public class Animal{ int age; String name; public Animal(int age, String name){ this.age = age; this.name = name; } } public class Dog extends Animal{ String color; public Dog(int age, String name, String color){ super(age, name); this.color = color; } }
在這個例子中,Animal是父類,Dog是子類。子類的構(gòu)造方法中使用了super(age,name)方法調(diào)用了父類的構(gòu)造方法,并將age和name傳入。在子類中,如果沒有使用super()方法調(diào)用父類的構(gòu)造方法,則會自動調(diào)用父類的默認構(gòu)造方法。在父類中,如果沒有定義構(gòu)造方法,則會自動添加一個默認的構(gòu)造方法。
在Java中,父類和子類的初始化順序是按照以下規(guī)則:
- 靜態(tài)代碼塊(父類 ->子類)
- 父類實例變量初始化
- 父類構(gòu)造方法
- 子類實例變量初始化
- 子類構(gòu)造方法
這種初始化順序的好處是,可以保證父類的初始化在子類之前,避免在子類中使用父類的屬性和方法時,父類還沒有進行初始化。
在使用繼承的時候,需要注意的是,父類可以被繼承多次,但一個類只能有一個父類。如果一個子類繼承了多個父類,則需要使用接口來解決這個問題。
上一篇httpd 跑php