java 继承关系中-执行顺序测试

    xiaoxiao2021-03-25  135

    父类: package com.blm.java; public class Ainimal { static { System.out.println("这是父类的静态代码块"); } private String name; public Ainimal() { super(); System.out.println("这是父类的无参构造"); } public Ainimal(String name) { super(); this.name = name; System.out.println("这是父类的有参构造"); } public void eat() { System.out.println("这是父类的普通方法"); } }

    子类:

    package com.blm.java; public class Cat extends Ainimal { static { System.out.println("这是子类静态代码块"); } private String color; public Cat() { super(); System.out.println("这是子类无参构造"); } public Cat(String color) { super(); this.color = color; System.out.println("这是子类有参构造"); } @Override public void eat() { // TODO Auto-generated method stub super.eat(); System.out.println("这是子类复写的父类方法"); } public void run() { System.out.println("这是子类的普通方法"); } }测试类:1.创建子类实体

    package com.blm.java; public class Test { public static void main(String[] args) { new Cat(); } }

    result:

    这是父类的静态代码块 这是子类静态代码块 这是父类的无参构造 这是子类无参构造

    测试类:2.创建子类实体(带参)

    package com.blm.java; public class Test { public static void main(String[] args) { new Cat("hei"); } }result:

    这是父类的静态代码块 这是子类静态代码块 这是父类的无参构造 这是子类有参构造

    测试类:3.子类对象调用复写父类的方法

    package com.blm.java; public class Test { public static void main(String[] args) { new Cat().eat(); } }这是父类的静态代码块 这是子类静态代码块 这是父类的无参构造 这是子类无参构造 这是父类的普通方法 这是子类复写的父类方法

    测试类:3.子类对象调用自己的方法

    package com.blm.java; public class Test { public static void main(String[] args) { new Cat().run(); } }result:

    这是父类的静态代码块 这是子类静态代码块 这是父类的无参构造 这是子类无参构造 这是子类的普通方法

    转载请注明原文地址: https://ju.6miu.com/read-10154.html

    最新回复(0)