覆蓋方法
1.在父類中一些方法並不適合子類所以用新的方法來覆蓋.
本文用people類和student類進行解釋
定義父類people
public class people
public void setname(string name)
public string get***()
public void set***(string ***)
public int getage()
public void setage(int age)
public void run()
public people(string name, string ***, int age)
public people()
@override
public string tostring() ';
}}
定義子類student
public class student extends people
public void setstudentnum(string studentnum)
public string getschool()
public void setschool(string school)
public void run()
public student(string studentnum, string school,string name,string age,int ***)
public student()
@override
public string tostring() '+super.tostring();
}}
在main函式值中student物件呼叫run()是student類中的方法.
student student=new student("22222","你的大學","小明","女",5);
student.run();
但是很多方法都可能要用到父類people中的私有成員變數而子類得不到如tostring方法
people中的tostring方法
public string tostring() ';
student中的tostring方法
public string tostring() '}
因為無法的到父類people中的私有成員變數所以得不到想要的name *** age .而且呼叫父類中get方法來賦值會和子類中get方法覆蓋,從而get方法被無限呼叫.在這種情況下我們引入了關鍵字super,super.get();呼叫的是父類裡面的方法,也可以呼叫裡面的變數.
在子類中的構造方法中加上super(父類的變數域)就可以實現對超類的構造器的呼叫`
public people(string name, string ***, int age)
public student(string studentnum, string school,string name,string age,int ***)
student student=new student("22222","你的大學","小明","女",5);
super呼叫構造器必須是子類構造器的第一條語句 Java中的繼承 過載 覆蓋
第一節 繼承的概念 1.1.1 為什麼使用繼承 使乙個類的資料成員和成員方法可以被另乙個類 派生類或子類 重用。繼承的特性實現了真正意義上的 復用,子類可以從父類繼承所有非private的資料成員和成員方法,以體現其共性。在子類中也可以新定義一些自己特有的資料成員和成員方法,以體現其個性。1.1.2...
複習筆記 Java中 關於方法覆蓋的總結
1.子類方法不能縮小父類方法的訪問許可權。舉例 2.子類方法不能丟擲比父類方法更多的異常。3.方法覆蓋只存在於子類和父類之間。在同乙個類中方法只能過載,不能被覆蓋。4.父類的靜態方法不能被子類覆蓋為非靜態方法。5.子類可以定義與父類的靜態方法同名的靜態方法,以便在子類中隱藏父類的靜態方 法 但是子類...
JAVA思想 繼承的方法覆蓋的作用
在繼承後,如果子類和父類中有同名的方法,子類呼叫同名的方法後,呼叫的是子類自己的方法,這就叫做覆蓋。當我們開發時,原有的父類 a類功能已經不夠強了,我們需要對他進行功能修改,但又不能改動他的 因此我們可以用b類繼承a類,然後在b類中重寫a類的功能方法,達到不修改a類就能改動a類功能的目的。注意 為什...