首頁 >Java >java教程 >JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)

JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)

WBOY
WBOY轉載
2022-04-12 18:48:241682瀏覽

本篇文章為大家帶來了關於java的相關知識,其中主要介紹了關於物件導向的相關問題,包括了有參構造、無參構造、類別的繼承、方法的重寫和重載等等內容,下面一起來看一下,希望對大家有幫助。

JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)

推薦學習:《java教學

建構方法

類別的建構方法是特殊的方法,此方法名稱必須和類別名稱一致,建構不能有返回值不使用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方法試試看

JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)

#建構方法相當於在new物件是自動使用的方法

#有參考問題


有參考建構就是有參數的建構方法
在類別A中宣告一個有參數的建構方法,傳入兩個String類型的參數,a和b

public class A {
    public A() {
    }

    public A(String a, String b) {
        System.out.println(a + b);
    }}
在測試類別中new一個物件a時傳入參數

public class Test {
    public static void main(String[] args) {
        A a = new A("aaa", "bbb");
    }}

JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)執行main方法

#注意

沒有建構方法的時候,類別中隱藏了一個無參構造。但是創造一個有參構造,隱藏的無參構造就會消失。那以後new物件就只能帶參數了。所以在建有參構造時一定要創建一個無參構造方法放那。

類別的繼承

java語言中,類別class 是單一繼承,多實作介面。介面interface 是多繼承的。

JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)



為什麼要繼承呢?因為子類別想要在父類別的基礎上新增功能。 子類別繼承父類別可以繼承父類別中的方法和屬性
下面舉例分析:

父類別是人,子類別是老司機。

人的特徵有:兩隻手,兩隻眼,兩隻腳,會吃會喝
老司機繼承了人類的特徵,並且多出了自己會開車這個功能。

程式碼如下:

這是一個人 類,具有以下屬性和功能。

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("会开车");
    }}
測試:建立老司機物件輸出屬性並呼叫方法。

JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)

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物件導向之繼承、建構方法、重寫與重載(總結分享)現在重寫運行測試類別#######

重載

有參構造和無參構造就是方法重載,一個類別中有兩個名字一樣的方法,但是他們的回傳值類型和參數類型,參數個數不一樣。
兩個方法的回傳值類型和參數類型,參數個數,只要有一個不一樣。但是他們方法名一樣,那麼兩個方法就重載。

推薦學習:《java教學

以上是JAVA物件導向之繼承、建構方法、重寫與重載(總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除