本帖最后由 刘佳 于 2012-8-7 19:58 编辑
- class Employee
- {
- private String name;
- private String id;
- private double pay;
- //在构造函数中进行初始化。为什么要在构造函数中进行初始化,一般有哪些初始化方式,都如何选择?
- Employee(String name,String id,double pay)
- {
- this.name = name;
- this.id = id;
- this.pay = pay;
- }
-
- public abstract void work();
- }
- class Manager extends Employee
- {
- private int bonus; //奖金不应该是double类型的吗?
- Manager(String name,String id,double pay,int bonus)
- {
- super(name,id,pay);
- this.bonus = bonus;
- }
- /*
- 方法体一定要在构造函数之外吗,能否定义在构造函数里面呢,
- 各有何含义呢?
- */
- public void work()
- {
- System.out.println("manager work");
- }
- }
- class Pro extends Employee
- {
- /*
- 父类已经初始化过了,为何这里的构造函数还要再进行初始化?
- 为何这里不能写成空参数的呢,而一定需要标识符呢,
- 它继承上面的函数,不是直接可以将上面的函数拿过来用吗?
- */
- Pro(String name,String id,double pay)
- {
- super(name,id,pay);
- }
- public void work()
- {
- System.out.println("pro work");
- }
- }
复制代码 |