继承与类的先后顺序

核心思想:
这里写图片描述
父类Animal
这里写图片描述

public class Animal {
    public String name="laowang";(4public int age =10; (3//*属性*

    public void eat(){      //*方法*
        System.out.println("动物具有吃东西的能力");
    }
    public Animal(){   //(2)
        System.out.println("Ainmal类执行了 ");(5)

    }
}

子类Dog

public class Dog extends Animal {  //(8)
    public Dog(){
        System.out.println("Dog 类执行了"); //(9)
    }
}

执行文件Initail

public class Initail {
    public static  void main(String[] args){
        //
        Animal animal=new Animal();//(1)
        //申明一个Animal引用变量animal,并创建一个Animal对象,然后将对象赋值给引用变量
        System.out.println("animal age:"+animal.age+animal.name);  //(6)
        Dog dog =new Dog();   //(7)
        dog.age=10;  //(10)
        dog.name="xiaotian";//(11)
        dog.eat(); (12)
    }

}

程序的执行:
一、分析(1)中引用类Animal,且animal要用要类中的变量name和age,所以第一个输出的执行顺序为:(1)-(2)-(3)-(4)-(5),输出“Ainmal类执行了”;
二、执行完第一个输出后回到(1),往下继续执行(6),输出:
“animal age:10laowang”;
三、继续执行(7),因为要用到类Dog(8),而类Dog要继承父类Animal,所以要执行(2),(3),(4),输出:“Ainmal类执行了”;
四、接着把子类Dog执行完(9),输出:“Dog 类执行了”;
五、接着执行(10)-(11)-(12),调用函数eat,输出:”动物具有吃东西的能力”。
完成!

这里写图片描述

猜你喜欢

转载自blog.csdn.net/nsjlive/article/details/79156230
今日推荐