一.繼承:
class Person{
private String name;
private String gender;
public Person(){
System.out.println("父類的構造方法");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setGender(String gender){
this.gender =gender;
}
public String getGender(){
return gender;
}
public void eat(){
System.out.println("食物");
}
}
class Student extends Person{
//創建了一個Person的的子類
}
public class Test{
public static void main(String[] args){
Student s = new Student(); //創建一個學生類
//System.out.println(s.name); 輸出錯誤,因爲父類的name是私有屬性
}
}
1.注意事項:
- 繼承不能繼承父類的私有屬性
- 子類在實例化的過程中會自動調用父類的無參構造方法
- JAVA中不存在多繼承(即一個子類只有一個父類),但可以多層次繼承
- 如果重寫了父類的方法,在子類裏調用父類中被重新的方法需要加super.methodName()
- 子類重寫方法後,調用重寫方法加this.methodName()
- 子類的權限不能小於父類的權限
- 靜態只能覆蓋靜態(因爲類方法、類屬性在重寫後如果變成了動態的,違背父類)
- 所有的類的間接或直接根類是Object類
- 輸出實例將會輸出該實例的toString()的返回值