黑马程序员技术交流社区

标题: 关于继承的一个问题 [打印本页]

作者: 鲍霄霄    时间: 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