第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java - 如何在重載的構(gòu)造函數(shù)中調(diào)用mutator方法而不是在java中分配它們?

java - 如何在重載的構(gòu)造函數(shù)中調(diào)用mutator方法而不是在java中分配它們?

吃雞游戲 2022-07-06 16:56:02
 public class Player{private String firstName;private String lastName;private int heightInInches;private double weightInPounds;private boolean goalScorer;private boolean drinksBeer;public Player(){}public Player(String firstName, String lastName, int heightInInches, double weightInPounds, boolean goalScorer, boolean drinksBeer){    if(lastName != null && lastName.trim().length() > 0){        if(lastName != null && lastName.trim().length() > 0){            if(heightInInches >= 0){                 if(weightInPounds >= 0){                    this.firstName = firstName;                    this.lastName = lastName;                    this.heightInInches = heightInInches;                    this.weightInPounds = weightInPounds;                    this.goalScorer = goalScorer;                    this.drinksBeer = drinksBeer;                }            }        }    }}public String getFirstName(){    return firstName;}public String getLastName(){    return lastName;}public int getHeightInInches(){    return heightInInches;}public double getWeightInPounds(){    return weightInPounds;}public boolean getGoalScorer(){    return goalScorer;}public boolean getDrinksBeer(){    return drinksBeer;}public void setFirstName(String firstName){    if(firstName != null && firstName.trim().length() > 0){        this.firstName = firstName;    }else{        System.out.println("Error. Invalid First Name.");    }}public void setLastName(String lastName){    if(lastName != null && lastName.trim().length() > 0){        this.lastName = lastName;    }else{        System.out.println("Error. Invalid Last Name.");    }}在重載的構(gòu)造函數(shù)中,如何不使用賦值語句為每個字段調(diào)用 mutator 方法?并且如果我調(diào)用 mutator 方法,我應(yīng)該刪除構(gòu)造函數(shù)中的 if 語句嗎?(我使用的是blueJ)我是初學(xué)者,所以請說明我的代碼中是否還有其他問題。提前致謝。
查看完整描述

1 回答

?
函數(shù)式編程

TA貢獻1807條經(jīng)驗 獲得超9個贊

您所要做的就是像任何其他方法一樣引用 mutator 方法:

public Player(String firstName, String lastName, int heightInInches, double weightInPounds, boolean goalScorer, boolean drinksBeer) {
    setFirstName(firstName);
    setLastName(lastName);
    setHeightInInches(heightInInches);
    setWeightInPounds(weightInPounds);
    setGoalScorer(goalScorer);
    setDrinksBeer(drinksBeer);}

此外,不需要那些 if 語句,因為它們實際上并沒有做任何有用的事情。如果您沒有明確設(shè)置任何值,int變量將默認為0、double默認為0.0、boolean默認為falseString默認為null。因此,您的 if 語句正在執(zhí)行諸如“如果名字是null,請不要設(shè)置它……所以null無論如何它都會默認”之類的事情。

如果你想做一些事情,比如強制高度為正數(shù),你總是可以把這個邏輯放在 setter 中。


查看完整回答
反對 回復(fù) 2022-07-06
  • 1 回答
  • 0 關(guān)注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號