溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中構(gòu)造器內(nèi)部怎么調(diào)用構(gòu)造器

發(fā)布時(shí)間:2020-07-28 10:27:27 來源:億速云 閱讀:206 作者:小豬 欄目:編程語言

小編這次要給大家分享的是java中構(gòu)造器內(nèi)部怎么調(diào)用構(gòu)造器,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

可能為一個(gè)類寫了多個(gè)構(gòu)造器,有時(shí)可能想在一個(gè)構(gòu)造器里面調(diào)用另外一個(gè)構(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);
 }
}

java中構(gòu)造器內(nèi)部怎么調(diào)用構(gòu)造器

其實(shí)可以從結(jié)果看見,這其實(shí)可普通的函數(shù)調(diào)用沒什么區(qū)別,只不過是用了this這個(gè)關(guān)鍵字。

內(nèi)容補(bǔ)充

構(gòu)造函數(shù)的作用

這個(gè)示例項(xiàng)目中的 DiceRoller 類表示一個(gè)虛擬骰子工廠:當(dāng)它被調(diào)用時(shí),它創(chuàng)建一個(gè)虛擬骰子,然后進(jìn)行“滾動(dòng)”。然而,通過編寫一個(gè)自定義構(gòu)造器,你可以讓擲骰子的應(yīng)用程序詢問你希望模擬哪種類型的骰子。

大部分代碼都是一樣的,除了構(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ù)類型。

看完這篇關(guān)于java中構(gòu)造器內(nèi)部怎么調(diào)用構(gòu)造器的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI