java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例詳解
可能為一個(gè)類(lèi)寫(xiě)了多個(gè)構(gòu)造器,有時(shí)可能想在一個(gè)構(gòu)造器里面調(diào)用另外一個(gè)構(gòu)造器,為了減少代碼的重復(fù),可用this關(guān)鍵字做到這一點(diǎn)?!?/p>
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é)果看見(jiàn),這其實(shí)可普通的函數(shù)調(diào)用沒(méi)什么區(qū)別,只不過(guò)是用了this這個(gè)關(guān)鍵字。
內(nèi)容補(bǔ)充:
構(gòu)造函數(shù)的作用
這個(gè)示例項(xiàng)目中的 DiceRoller 類(lèi)表示一個(gè)虛擬骰子工廠:當(dāng)它被調(diào)用時(shí),它創(chuàng)建一個(gè)虛擬骰子,然后進(jìn)行“滾動(dòng)”。然而,通過(guò)編寫(xiě)一個(gè)自定義構(gòu)造器,你可以讓擲骰子的應(yīng)用程序詢(xún)問(wèn)你希望模擬哪種類(lèi)型的骰子。
大部分代碼都是一樣的,除了構(gòu)造器接受一個(gè)表示面數(shù)的數(shù)字參數(shù)。這個(gè)數(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; }
模擬滾動(dòng)的函數(shù)保持不變:
public void Roller() { roll = rand.nextInt(dice); roll += 1; System.out.println (roll); }
代碼的主要部分提供運(yùn)行應(yīng)用程序時(shí)提供的任何參數(shù)。這的確會(huì)是一個(gè)復(fù)雜的應(yīng)用程序,你需要仔細(xì)解析參數(shù)并檢查意外結(jié)果,但對(duì)于這個(gè)例子,唯一的預(yù)防措施是將參數(shù)字符串轉(zhuǎn)換成整數(shù)類(lèi)型。
到此這篇關(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot使用開(kāi)發(fā)環(huán)境application.properties問(wèn)題
這篇文章主要介紹了SpringBoot使用開(kāi)發(fā)環(huán)境application.properties問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07java -jar設(shè)置添加啟動(dòng)參數(shù)實(shí)現(xiàn)方法
這篇文章主要介紹了java -jar設(shè)置添加啟動(dòng)參數(shù)實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Java實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)
這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)以及速度的對(duì)比,感興趣的可以了解一下2022-07-07IDEA創(chuàng)建Servlet并配置web.xml的實(shí)現(xiàn)
這篇文章主要介紹了IDEA創(chuàng)建Servlet并配置web.xml的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10