在物件導向的學習中,對於過載和重寫我頭疼了好一陣,現在稍微明白了。發表一下個人理解,望大神指點錯誤!
對於建構函式的過載,其實就是對建構函式的初始化,用個例子表示:
public class test{
string name;
int age;//此為函式定義的變數
public test(string name1,int age1){//形式上引入兩個變數,注意建構函式沒有返回值型別,例項化類的時候會提示輸入這兩個變數
this.name=name1;//講引入的兩個變數name1和age1賦值給原類的變數name和age實現該類中的變數初始化
this.age=age1;
可以看出,我們可以通過建構函式的過載來初始化類中的變數。同理,方法的過載類似,主函式中通過例項化物件來實現賦值。這只是學到的過載的乙個功能,是否還有其他功能還需要繼續學習了。
重寫,發生在子類和父類之間。子類繼承父類的方法後,想改變這個方法的功能,就可以重寫該方法。具體形式:函式名相同,需要的引數相同,但實現的方法不同。呼叫父類的屬性和方法可以用super.**;來實現。例子:
若父類的乙個方法為:
public void show(){
system.out.println("hello world!");
子類重寫方法,可寫成:
public void show(){
//裡面的方法按需要寫,但所用變數和父類該方法一致
大體內容就這樣了。
Java中關於過載和重寫
基本的一些點呀 方法過載 1.同乙個類中 2.方法名相同,引數列表不同 引數順序,個數,型別 方法返回值任意 3.訪問修飾符任意 4.與方法的引數名無關 方法重寫 1.有繼承關係的子類中 2.方法名相同,引數列表相同 引數順序,個數,型別 方法返回值相同 3.訪問修飾符需要大於或者扽與父類的訪問範圍...
java中重寫和過載
過載是如 public class myslidingdrawer extends slidingdrawer public myslidingdrawer context context,attributeset attrs,int defstyle 其中myslidingdrawer的2個構造函...
java中關於過載和重寫的理解
重寫 覆蓋 overwrite 是發生在子類和父類之間的,子類重寫父類的方法。規則 方法名字,方法的引數 引數的個數,型別,順序 返回型別必須一樣,異常不能被擴大,可見性不能縮小。重寫方法只能存在於具有繼承關係中,重寫方法只能重寫父類非私有的方法。子類可以和父類用相同名字的靜態方法,方法名,引數型別...