2017-10-17 75 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 =新的芝士蛋糕(芝士),以创建演示类的实例; //把第一个对象作为参数

现在调用显示方法为第二个对象。



相关问题