- public class question
- {
- public static void main(String[] args)//1, 进入程序
- {
- Pro p= new Pro("zhangsan","jisu01",1000);//2, 在堆内存创建对象Pro
- System.out.print(p.getName());//6, 然后变量p调用getName()
- //8, 之前初始化好的变量name值为zhangsan, 就输出了zhangsan,
- }
- }
- abstract class Employee//4, 于是继承到了这句,
- {
- private String name;
- private String id;
- private double pay;
- Employee(String name,String id,double pay)//5, 因为有继承的关系,直接就执行到了父类的构造代码块,
- //然后进行一系列赋值动作, 这不是很好理解吗?
- {
- this.setName(name);
- this.id=id;
- this.pay=pay;
- }
- public abstract void work();
- public void setName(String name)
- {
- this.name = name;
- }
- public String getName()//7, 然后返回变量name的值
- {
- return name;
- }
- }
- 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.print("manager work");
- }
- }
- class Pro extends Employee//3, 执行到这句, 但是因为继承了父类Empioyee
- {
- Pro(String name, String id, double pay)
- {
- super(name, id, pay);
- }
- public void work()
- {
- System.out.print("Por work");
- }
- }
复制代码 我不知道楼主哪里不明白...我写的也不是很详细, 但是具体的步骤应该就是i这样的吧... |