java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例詳解
可能為一個類寫了多個構(gòu)造器,有時可能想在一個構(gòu)造器里面調(diào)用另外一個構(gòu)造器,為了減少代碼的重復(fù),可用this關(guān)鍵字做到這一點(diǎn)。
public class Flower {
private String string;
private int age;
public Flower() {
// 先調(diào)用public Flower(String string, int age)
this("leon", 120);
// 先調(diào)用public Flower(String string, int age)
}
public Flower(String string) {
this(string, 12);
}
public Flower(String string, int age) {
this.string = string;
this.age = age;
System.out.println("姓名:" + this.string + " 年齡: " + this.age);
}
public static void main(String[] args) {
Flower flower = new Flower();
Flower flower1 = new Flower("leon");
Flower flower2 = new Flower("leon", 12);
}
}

其實(shí)可以從結(jié)果看見,這其實(shí)可普通的函數(shù)調(diào)用沒什么區(qū)別,只不過是用了this這個關(guān)鍵字。
內(nèi)容補(bǔ)充:
構(gòu)造函數(shù)的作用
這個示例項(xiàng)目中的 DiceRoller 類表示一個虛擬骰子工廠:當(dāng)它被調(diào)用時,它創(chuàng)建一個虛擬骰子,然后進(jìn)行“滾動”。然而,通過編寫一個自定義構(gòu)造器,你可以讓擲骰子的應(yīng)用程序詢問你希望模擬哪種類型的骰子。
大部分代碼都是一樣的,除了構(gòu)造器接受一個表示面數(shù)的數(shù)字參數(shù)。這個數(shù)字還不存在,但稍后將創(chuàng)建它。
import java.util.Random;
public class DiceRoller {
private int dice;
private int roll;
private Random rand = new Random();
// constructor
public DiceRoller(int sides) {
dice = sides;
}
模擬滾動的函數(shù)保持不變:
public void Roller() {
roll = rand.nextInt(dice);
roll += 1;
System.out.println (roll);
}
代碼的主要部分提供運(yùn)行應(yīng)用程序時提供的任何參數(shù)。這的確會是一個復(fù)雜的應(yīng)用程序,你需要仔細(xì)解析參數(shù)并檢查意外結(jié)果,但對于這個例子,唯一的預(yù)防措施是將參數(shù)字符串轉(zhuǎn)換成整數(shù)類型。
到此這篇關(guān)于java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例詳解的文章就介紹到這了,更多相關(guān)java中關(guān)于構(gòu)造器內(nèi)部調(diào)用構(gòu)造器淺談內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python機(jī)器學(xué)習(xí)三大件之二pandas
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)三大件之二pandas,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)Python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Tomcat使用IDEA遠(yuǎn)程Debug調(diào)試的講解
今天小編就為大家分享一篇關(guān)于Tomcat使用IDEA遠(yuǎn)程Debug調(diào)試的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
Java實(shí)現(xiàn)Dijkstra算法的示例代碼
Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計(jì)算一個節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最短路徑。本文主要介紹了實(shí)現(xiàn)這一算法的Java代碼,需要的可以參考一下2022-07-07
spring中@ComponentScan自動掃描并指定掃描規(guī)則
本文主要介紹了spring中@ComponentScan自動掃描并指定掃描規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

