#類別的建構方法是特殊的方法,此方法名稱必須和類別名稱一致,建構不能有回傳值不使用void,不能直接調用,在類別物件實例化時自動調用,new 的時候可以調用。一般建構方法用於類別物件實例化時的初始化。如果一個類別沒有編寫構造方法,系統會自動為此類編譯時新增一個無參構造方法。如果宣告類別寫了建構方法,系統就不再加入無參構造方法,建議寫完建構方法時,最好寫一個無參構造方法。
說白了就是沒有參數的建構方法
概念看不懂舉例就清晰了。
宣告一個類別A
public class A { }
在類別A中建立一個建構方法A(),並且列印出一句話
建構方法必須和類別名稱一樣
public class A { public A(){ System.out.println("构造方法A()"); }}
新建一個測試類別,並在類別中nuw一個A類別的物件
public class Test { public static void main(String[] args) { A a = new A(); }}
執行main方法試試看
#建構方法相當於在new物件是自動使用的方法
#有參考問題在類別A中宣告一個有參數的建構方法,傳入兩個String類型的參數,a和b有參考建構就是有參數的建構方法
在測試類別中new一個物件a時傳入參數public class A { public A() { } public A(String a, String b) { System.out.println(a + b); }}登入後複製
public class Test { public static void main(String[] args) { A a = new A("aaa", "bbb"); }}登入後複製
執行main方法
#注意沒有建構方法的時候,類別中隱藏了一個無參構造。但是創造一個有參構造,隱藏的無參構造就會消失。那以後new物件就只能帶參數了。所以在建有參構造時一定要創建一個無參構造方法放那。
類別的繼承java語言中,類別class 是單一繼承,多實作介面。介面interface 是多繼承的。
老司機繼承了人類的特徵,並且多出了自己會開車這個功能。人的特徵有:兩隻手,兩隻眼,兩隻腳,會吃會喝
為什麼要繼承呢?因為子類別想要在父類別的基礎上新增功能。 子類別繼承父類別可以繼承父類別中的方法和屬性
下面舉例分析:
父類別是人,子類別是老司機。
程式碼如下:
這是一個人 類,具有以下屬性和功能。
這是舊司機類,繼承了人類。並且多了個會開車的功能public class Ren { public final String shou = "两只手"; public final String jiao = "两只脚"; public final String yan = "两只眼"; public void chi() { System.out.println("会吃"); } public void he() { System.out.println("会喝"); }}登入後複製
測試:建立老司機物件輸出屬性並呼叫方法。public class Siji extends Ren { public void kai() { System.out.println("会开车"); }}登入後複製
public class Test { public static void main(String[] args) { Siji b = new Siji(); System.out.println(b.jiao); System.out.println(b.shou); System.out.println(b.yan); b.chi(); b.he(); b.kai(); }}
方法重寫、重載重載:方法名稱一樣,傳回類型,形參數,型別不樣的方法,不一定必須是繼承關係,同一個類別中都可以,例如建構方法重載#重寫 覆寫:方法名,傳回類型,形參都一樣。有此種情況的,必須為繼承關係。
#重寫例如人會吃會喝,但老司機不喜歡它會吃這個功能,想把它改一下,改成會吃屎。因為子類別不滿意父類別的方法所以想把它改一下,這就是子類別重寫父類別的方法。
程式碼如下:方法名稱一定要一樣老司機重寫人類的chi()方法
public class Siji extends Ren { public void kai() { System.out.println("会开车"); } public void chi() { System.out.println("会吃屎"); }}登入後複製
現在重寫運行測試類別重載兩個方法的回傳值類型和參數類型,參數個數,只要有一個不一樣。但是他們方法名一樣,那麼兩個方法就重載。 #######有參考構造和無參考建構就是方法重載,一個類別中有兩個名字一樣的方法,但是他們的回傳值類型和參數類型,參數個數不一樣。
以上是如何利用JAVA中的繼承、構造方法以及重寫和重載方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!