黑马程序员技术交流社区
标题:
请大哥哥们看看那
[打印本页]
作者:
不服™け你咬我
时间:
2014-9-10 23:52
标题:
请大哥哥们看看那
public class Test3 {
public static void main(String[] args) {
Staff s = new Staff("张三","123",5000);
System.out.println("员工, "+s.getName()+", "+s.getNumber()+", "+s.getPay()+", ");
Manager m = new Manager("李四","1",8000,2000);
System.out.println("经理, "+m.getName()+", "+m.getNumber()+", "+m.getPay()+", "+m.getBonus());
}
}
class Staff{
private String name;
private String number;
private int pay;
public Staff() {
super();
// TODO Auto-generated constructor stub
}
public Staff(String name, String number, int pay) {
super();
this.name = name;
this.number = number;
this.pay = pay;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public int getPay() {
return pay;
}
public void setPay(int pay) {
this.pay = pay;
}
}
class Manager extends Staff{
private int bonus;
public Manager() {
super();
}
public Manager(String name, String number, int pay, int bonus) {
super(name,number,pay,bonus);//报错The constructor Staff(String, String, int, int) is undefined
this.bonus = bonus;
}
public int getBonus() {
return bonus;
}
public void setBonus(int bonus) {
this.bonus = bonus;
}
}
小弟调不好啊
作者:
依然超级赛亚人
时间:
2014-9-11 07:02
super(name,number,pay,bonus)用的是父类Staff的构造形式,父构造中没有bonus属性,所以这样初始化不对,参数列表中只保留前三个参数,bonus去掉,你的下面有set和get方法了,所以可以通过这个方法赋值。
作者:
李春丽
时间:
2014-9-11 08:29
public Manager(String name, String number, int pay, int bonus) {
super(name,number,pay,bonus);//报错The constructor Staff(String, String, int, int) is undefined
this.bonus = bonus;
}
super();使用这句时,要时刻注意
该方法的父类方法中,参数个数,参数的排列顺序,必须要对应好。
父类中 public Staff(String name, String number, int pay) 只有 3 个参数。bonus 是子类中才有的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2