- abstract class Employee
- {
- private String name;
- private String id;
- private double pay;
- double i=3;
- Employee(String name,String id,double pay)
- {
- this.name = name;
- this.id = id;
- this.pay = pay;
- }
-
- public abstract void work();
- public void sc()
- {
- System.out.println("name:"+name);
- System.out.println("id:"+id);
- System.out.println("pay:"+pay);
- }
- }
- class Manager extends Employee
- {
- private int bonus;
- Manager(String name,String id,double pay,int bonus)
- {
- super(name,id,pay);
- this.bonus = bonus;
- }
- public void work()
- {
- System.out.println("manager work");
- }
- public void sc()
- {
- //super();
- super.sc();
- System.out.println("bonus:"+bonus);
- }
- public static void main(String[]agrs)
- {
- Manager m=new Manager("caicai","11",100,200);
- m.sc();
- //System.out.println (super.i);//super只能用在子类的方法中
- }
- }
- /*
- super关键字有两个用法:
- 1、在构造函数中表示父类的构造函数形式就是:super();这个语句只能放在子类的构造函数的第一行
- 2、在子类的方法中作为父类对象的引用,可以引用父类的方法,字段
- 很明显你把super()放在方法中是不正确的 当然报错
- 你是想在子类复写的方法中引用父类的被复写的方法 改的方式:super.sc();这个就没必要放在方法中的
- 句首了,根据打印顺序
- */
复制代码 |