(1) 父類與子類之間的多態性,對父類的函數進行重新定義。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被復寫(Override)。在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的復寫。復寫也被稱之為覆蓋或者重寫。
(2)若子類中的方法與父類中的某一方法具有相同的方法名、返回類型和參數表,則新方法將覆蓋原有的方法。如需父類中原有的方法,可使用super關鍵字,該關鍵字引用了當前類的父類。
(3)子類函數的訪問修飾權限不能小於父類的;
例子:
//定義一個Person類
class Person{
String name;
int age;
void introduce(){
System.out.println("我的姓名是"+name+",我的年齡是"+age);
}
}
//定義個Student繼承自Person類
class Student extends Person{
String address;
void introduce(){
super.introduce();
System.out.println("我的家在"+address);
}
}
//測試結果
class Test{
public static void main(String args[]){
Student s = new Student();
s.name = "張三";
s.age = 20;
s.address = "北京";
s.introduce();
Student p = new Student();
p.name = "李四";
p.age = 30;
p.introduce();
}
}