创建参数化构造函数

时间:2017-10-17 23:51:41

标签: java parameters constructor

所以,我正在做我的家庭作业。但是,我坚持了这项任务的几个部分。

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的类。该类将包含您的main方法 使用默认构造函数创建类的实例。 调用所有对象集方法,为对象赋值 调用对象显示方法,打印出它的值 使用参数化构造函数创建类的另一个实例 调用对象显示方法,打印出它的值

我的演示方法是对的吗?或者我应该添加更多东西。另外,我应该添加更多构造函数来创建参数化构造函数吗?我不知道如何制作参数化构造函数。

1 个答案:

答案 0 :(得分:2)

默认构造函数不接受任何参数。您的第二个构造函数是参数化构造函数。你的代码没问题你只需创建一个参数化的复制构造函数,它将另一个实例作为参数。即

 public CheeseCake (CheeseCake ck)
    {

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

    }

现在你需要使用这个构造函数

在demo类中创建一个实例

CheeseCake cheesecake2 = new CheeseCake(cheesecake); //传递第一个对象作为参数

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