代码演示
package com.Javalearn; public class CallingSequence { public static void main(String[] args) { new BB(); } } //父类 class AA{ //父类的静态属性 private static String name = callName(); //父类的普通属性 private int age = callAge(); //父类的普通代码块 { System.out.println("父类的普通代码块被调用"); } //父类的静态代码块 static { System.out.println("父类的静态代码块被调用"); } //构造器 AA(){ System.out.println("父类的构造器被调用"); } private static String callName(){ System.out.println("父类的静态属性被调用"); return "Jack"; } private int callAge(){ System.out.println("父类的普通属性被调用"); return 28; } } //子类 class BB extends AA{ //子类的静态代码块 static { System.out.println("子类的静态代码块被调用"); } //子类的静态属性 private static String name = callName(); //子类的普通代码块 { System.out.println("子类的普通代码块被调用"); } //子类的普通属性 private int age = callAge(); //构造器 BB(){ System.out.println("子类的构造器被调用"); } private static String callName(){ System.out.println("子类的静态属性被调用"); return "Bob"; } private int callAge(){ System.out.println("子类的普通属性被调用"); return 10; } }
输出结果