91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java構造方法和方法重載有什么特點

發布時間:2022-01-19 16:44:34 來源:億速云 閱讀:165 作者:iii 欄目:開發技術

這篇文章主要介紹了Java構造方法和方法重載有什么特點的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java構造方法和方法重載有什么特點文章都會有所收獲,下面我們一起來看看吧。

類的結構包括 :

1. 成員變量

2. 成員方法

3. 構造方法

4. 代碼塊

5. 內部類

第一 構造方法的作用

主要有以下三方面的作用:

(1)在構造方法中為創建的對象初始化賦值

(2)在創建一個對象的時候,至少需要調用一個構造方法

(3)每一個類都有構造方法

一個例子加深對以上三條的理解

public class Car{
    String name;
    String color;
    float price;
}

 name , color , price 三個都是類的成員變量,我們再創建一個類TextCar用來測試. 舉個例子,現在先記住:

Car bm = new Car();

這句代碼中Car()就是構造方法.所以也說明了(2)在創建一個對象的時候,至少需要調用一個構造方法.

public class TextCar{
    public static void main(String [] args){
        Car bm = new Car();  //給Car類創建(new)了一個對象
        System.out.println(bm.name);
    } 
}

在main方法中未對name賦值,但運行結果如下:

Java構造方法和方法重載有什么特點

不難發現,程序可以正常run并且name的值為null . 其實構造方法為成員變量賦了初值,即(1)的為創建的對象初始化賦值.構造方法賦初值如 : int類型 初值:0 , double類型 初值:0.0 ,String類型 初值 null 等等(常用的了解一下).

在public class Car{ } 這個類中看到的只有成員變量,沒有成員方法,更沒有看到構造方法. 其實,是因為我們沒有顯示的寫書構造方法,類里面有一個隱式的默認的構造方法:

public class Car{
    String name;
    String color;
    float price;
    public Car(){    //默認的構造方法,也可以顯示的寫出來
        this.name = null;
        this.color = null;
        this.price = 0.0;
    }
}

public Car(){ }有這樣一個隱式的無參的構造方法,只不過在上面的代碼中,我們顯示的寫出來了,這也解釋了 (3)每一個類都有構造方法.

到這里構造方法的知識點就梳理完了,歡迎大家評論區補充~

第二 構造方法的特點

構造方法的特點如下:

(1)名稱和類名相同(這一點需要牢記)

(2)沒有返回值

(3)不需要用void來修飾

public class Car{
   //里面有一個默認的無參構造方法Car(){   }
}

Car類里面的默認無參構造方法的名稱也叫Car().

我們也可以定義有參的構造方法,如果定義一個有參的構造方法會把默認的構造方法覆蓋掉.例如:

public class Car{
    String name;
    String color;
    float price;
    public Car(String name,String color,float price){   
        this.name = name;
        this.color = color;
        this.price = price;
    }
    
}

此時默認的無參構造方法被覆蓋掉.

如果剛開始接觸java,對 this. 不理解,看一下這一段的簡單解釋:this表示的是對應的對象,一定可以在main方法中找到對應的對象如上一段的代碼,一定可以找到這樣的對象 : Car bm = new Car("寶馬","黑色",5000000);(參量只要類型確定,想寫什么讀者隨意),this就指的是這個對象, this . 后面的name表示的是Car類的成員變量name , 等號右邊的name表示該構造方法的參數name.其余變量同理.最后,如果你覺得不好理解,可以把參數換個名字,如a,左邊的this . 就可以去掉.但this的使用一定要會.

來一個完整的簡單的代碼,讀者自己敲一下,然后給自己講一下,就完全理解啦~

public class Car{
    String name;
    String color;
    float price;
    public Car(String name,String color,float price){   
        this.name = name;
        this.color = color;
        this.price = price;
    }
    public run(){  //成員方法
        System.out.println("汽車行駛");
    }
}
 
 
public class TextCar{
    public static void main(String [] args){
        Car bm = new Car("寶馬","紅色",500000);  //給Car類創建(new)了一個對象
        System.out.println(bm.name+" "+bm.color+" "+500000);
        bm.run();
    } 
}

方法重載

1.重載有什么特點

(1)在一個類中有多個方法名稱相同的現象

(2)構造方法和成員方法都可以重載

(3)通過參數的個數,類型,類型的順序進行區分是否為同一方法

方法重載涉及到一個覆蓋的問題,如果重新定義傳參的構造方法,需要把默認的無參構造方法顯示的寫出來,因為默認的已經被重載的覆蓋掉,調用Car()時會報錯!例如:

public Car(String name,String color,float price){
    this.name = name;
    this.color = color;
    this.price = price;
    public Car(String name,String color,float price){   
        this.name = name;
        this.color = color;
        this.price = price;
    }
    
    public run(String name,String color){  //成員方法
        System.out.println(this.color+this.name+"汽車行駛");
    }
    public run(String color,String name){
        System.out.println(this.color+this.name+"汽車行駛");
    }
    public int run(String name){
        System.out.println(this.name+"汽車行駛");
        return 0;
    }
}
public class TextCar{
    public static void main(String [] args){
        Car dz = new Car();//創建了一個對象
        System.out.println(dz.name);
        Car bm = new Car("寶馬","紅色",500000);  //創建了一個對象
        System.out.println(bm.name+" "+bm.color+" "+500000);
        bm.run("紅色","寶馬");
        bm.run("寶馬");
    } 
}

因為Car()這個無參構造方法已經被有參的Car(String name,String color,float price)覆蓋,new Car()時找不到無參構造方法.需要我們顯示得把Car()定義出來才可以.

方法的重載,在Car類中有Car同名的構造方法,run()同名的構造方法,在類中使用重名的方法就是方法的重載,如果兩個方法的名字和參數類型,數量,順序都相同是不可以的,同名的方法需要考方法的參數類型,數量和順序區分開來

關于“Java構造方法和方法重載有什么特點”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java構造方法和方法重載有什么特點”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐边县| 北海市| 永定县| 大洼县| 苍南县| 丰台区| 安仁县| 泰兴市| 湛江市| 巴林左旗| 丹棱县| 逊克县| 冕宁县| 新绛县| 泗水县| 巴中市| 谢通门县| 和龙市| 双桥区| 习水县| 阿坝| 连山| 桐庐县| 汝州市| 富裕县| 馆陶县| 霍州市| 临洮县| 和静县| 开平市| 卢湾区| 中卫市| 自贡市| 上虞市| 涞源县| 濮阳县| 台安县| 紫金县| 赞皇县| 汝阳县| 靖西县|