2017-10-17 108 views
1

所以,我現在正在做家庭作業。但是,我堅持這個任務的幾個部分。創建一個參數化的構造函數

public class CheeseCake { 
    //Instance Variables   
    private double Cheese; 
    private int StrawBerry; 
    private double Cream; 

    public CheeseCake() { 
      Cheese = 0; 
      StrawBerry = 0; 
      Cream = 0; 
     } 

//Constructor  
    public CheeseCake (double milk, int fresh, double temp) 
    { 

    Cheese = milk; 
    StrawBerry = fresh; 
    Cream = temp; 

    } 



// (setter) 

    public void setCheese(double milk){ 
     Cheese = milk; 
    } 
    public void setStrawBerry(int fresh){ 
     StrawBerry = fresh; 
    }  
    public void setCream(double temp){ 
     Cream = temp; 
} 

//(getter) 

public double getCheese(){ 
    return Cheese; 
} 

    public int getStrawBerry(){ 
     return StrawBerry; 
} 

    public double getCream(){ 
     return Cream; 
} 

{ 

} 
//Method to display data, (need to work on this) 
public void display() { 

System.out.println(Cheese); 
System.out.println(StrawBerry); 
System.out.println(Cream); 
System.out.println("You used " + Cheese + " g of Creamcheese to make Cheese"); 
System.out.println("You used " + StrawBerry + " StrawBerry to make StrawBerry CheeseCake"); 
System.out.println("You used " + Cream + " g of Cream to make Cream Cheese"); 


} 
} 

這是我的演示幫助我運行這個程序。

public class Demo { 

    public static void main(String[] args) { 

     CheeseCake cheesecake = new CheeseCake(); 


     cheesecake.setCheese(5); 


     cheesecake.setStrawBerry(20); 


     cheesecake.setCream(10); 

     cheesecake.display(); 
    } 
} 

所以,我的問題是我完成創建3個實例方法和getter,setter方法。 另外,我創建了我的默認構造函數。 但我不知道如何創建這個參數化的構造函數。 「 」創建一個參數化構造函數,它將所有實例變量作爲參數,並將實例變量設置爲參數「

」提供的值。另外,我不確定我的老師希望我在演示方法中做什麼。

創建一個名爲Demo.java的類。該類將包含您的主要方法 使用默認構造函數創建類的實例。 調用所有對象設置方法爲對象分配值 調用對象顯示方法,打印出其值 使用參數化構造函數創建類的另一個實例 調用對象的顯示方法,打印出它的值

我的演示方法是對的嗎?或者我應該添加更多的東西。另外,我應該添加更多的構造函數來創建參數化的構造函數嗎?我不知道如何製作參數化的構造函數。

+3

最好的人交談,爲澄清分配你的老師給你的就是你的老師。這實際上是他們的工作,告訴你這種事情。 – azurefrog

+0

「我不知道如何製作參數化的構造函數。」但你似乎已經有一個? –

+0

所以我想念默認的構造函數?我對默認構造函數和參數化構造函數之間的區別感到困惑 –

回答

1

默認構造函數不帶任何參數。你的第二個構造函數是一個參數化的構造函數。而你的代碼是好的,你只需要創建一個參數化複製構造函數,它將另一個實例作爲參數。即

public CheeseCake (CheeseCake ck) 
    { 

    Cheese = ck.getCheese(); 
    StrawBerry = ck.getStrawBerry(); 
    Cream = ck.getCream(); 

    } 

,現在你需要使用此構造

芝士cheesecake2 =新的芝士蛋糕(芝士),以創建演示類的實例; //把第一個對象作爲參數

現在調用顯示方法爲第二個對象。



相關問題