所以,我正在做我的家庭作业。但是,我坚持了这项任务的几个部分。
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方法 使用默认构造函数创建类的实例。 调用所有对象集方法,为对象赋值 调用对象显示方法,打印出它的值 使用参数化构造函数创建类的另一个实例 调用对象显示方法,打印出它的值
我的演示方法是对的吗?或者我应该添加更多东西。另外,我应该添加更多构造函数来创建参数化构造函数吗?我不知道如何制作参数化构造函数。
答案 0 :(得分:2)
默认构造函数不接受任何参数。您的第二个构造函数是参数化构造函数。你的代码没问题你只需创建一个参数化的复制构造函数,它将另一个实例作为参数。即
public CheeseCake (CheeseCake ck)
{
Cheese = ck.getCheese();
StrawBerry = ck.getStrawBerry();
Cream = ck.getCream();
}
现在你需要使用这个构造函数
在demo类中创建一个实例CheeseCake cheesecake2 = new CheeseCake(cheesecake); //传递第一个对象作为参数
现在调用第二个对象的显示方法。