已经给我一个类声明,我正在尝试编写Pet类的构造函数。
class Pet {
protected String name;
protected boolean indoor;
...
public String getName() { return name; }
public boolean getIndoor() { return indoor; }
}
class Goat extends Pet{
public int age;
public String diet;
public Goat(String name, boolean indoor, int age, String diet) {
super(name, indoor);
this.age = age;
this.diet = diet;
}
}
这是我到目前为止所写的内容,但被困在了路上。
class Pet {
public String name;
public boolean indoor;
public Pet(String a, boolean b){
name = a;
indoor = b;
}
}
要使代码在该类中正常工作,哪个步骤好? 任何帮助将非常感激。谢谢。
答案 0 :(得分:3)
更改实例变量名称以匹配您引用它们的方式(实际上,将内容放回以前的方式):
class Pet {
protected String name;
protected boolean indoor;
public Pet(String a, boolean b){
name = a; // <-- assigns the argument to the instance variable
indoor = b;
}
public String getName() { return name; }
public boolean getIndoor() { return indoor; }
}
当您看到以get为前缀的名称是访问器(或getter)时,它们就是getName和getIndoor方法。吸气剂仅用于访问,不能更改,因此getName = a
不起作用。
答案 1 :(得分:0)
您的Pet类构造函数应如下所示:
class Pet {
private String name;
private boolean indoor;
public Pet(String name, boolean indoor){
this.name = name;
this.indoor = indoor;
}
public String getName() { return name; }
public boolean getIndoor() { return indoor; }
}