黑马程序员技术交流社区
标题: 关于继承的一个问题 [打印本页]
作者: 鲍霄霄 时间: 2012-7-17 20:01
标题: 关于继承的一个问题
java面向对象-CommissionWorker类是 Employee类的继承这句话要怎么解释?
public final class CommissionWorker extends Employee{
private double salary;
private double commission;
private int quantity;
public CommissionWorker(String frist,String last,double s,double c,int q)
{
super(frist,last);
setSalary(s);
2012/7/17(c);
setQuantity(q);
}
public void setSalary(double s)
{
salary=(s>0?s:0);
}
public void setCommission(double c)
{
commission=(c>0?c:0);
}
public void setQuantity(int q)
{
quantity=(q>0?q:0);
}
public double earnings()
{
return salary+commission+quantity;
}
public String toString()
{
return ""+super.toString();
}
}
在最后一个return 中“ ?” 这个能是空的字符串吗?要是不可以 这里需要怎么写?
作者: 樊佰轩 时间: 2012-7-17 20:18
你问的问题不是太明确,这是我对你问题的理解!
CommissionWorker类继承Employee类,Employee类是父类,而CommissionWorker类是子类。
父类有所有子类的共性,而子类除了拥有父类的共性外,还有自己的特性,这就是在CommissionWorker类中的构造函数中使用super()初始化共性,用各种set方法初始化特性。
子类可以调用父类的所有非私有方法,也可以对父类的方法进行重写。此时子类调用该方法时是用的子类重写的方法。
继承也就是继承拥有了父类的所有共性,是自己也具有了父类的性质。
对于你的最后一个问题,toString()方法是对父类中的toString()方法的重写,而在父类中已经对Java中Object类的toString()方法进行了重写,在子类中调用该方法时,返回父类中toString()方法返回的内容,如果父类返回空字符串时,那么该方法返回空字符串。
作者: 鲍霄霄 时间: 2012-7-19 14:28
恩恩 谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |