静态代码段 非静态代码 构造函数 在父类和子类中的调用顺序问题
2016-10-28 20:43
573 查看
废话不多说,直接上代码:
运行结果如下:
父类静态代码段!
子类静态代码段!
父类非静态代码段!
父类构造方法!
子类非静态代码段!
子类构造方法!
先依次执行父子类的静态代码段,再执行非静态的!
class TextC { public TextC() { System.out.println("父类构造方法!"); } { System.out.println("父类非静态代码段!"); } static{ System.out.println("父类静态代码段!"); } } public class TextB extends TextC{ public static void main(String[] args) { TextB textB= new TextB(); } public TextB(){ System.out.println("子类构造方法!"); } { System.out.println("子类非静态代码段!"); } static{ System.out.println("子类静态代码段!"); } }
运行结果如下:
父类静态代码段!
子类静态代码段!
父类非静态代码段!
父类构造方法!
子类非静态代码段!
子类构造方法!
先依次执行父子类的静态代码段,再执行非静态的!
相关文章推荐
- 父类和子类静态代码块、非静态代码块、构造函数(方法)执行的先后顺序问题
- Java____父类、子类——构造代码块、方法调用顺序问题
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- java父类、子类的构造函数、静态初始化、非静态初始化顺序
- 父类和子类的调用关系:先加载父类的静态变量,然后是子类的静态变量。当new一个子类时,加载父类的非静态变量,然后是父类的构造函数,再然后是子类的非静态变量和子类的构造函数
- 父类 子类 动态代码块 静态代码块 构造函数 执行顺序
- 关于基类指针指向子类对象,构造函数和析构函数调用的顺序的问题。
- 父类 子类 动态代码块 静态代码块 构造函数 执行顺序
- 父类构造方法、父类静态方法、父类一般方法、子类构造方法、子类静态方法、子类一般方法调用顺序
- 父类和子类中对于构造函数的调用问题
- java 父类子类静态成员,实例成员,构造函数初始化的顺序
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- 子类,父类静态代码块,构造代码块,以及构造函数执行顺序
- cppTest-8.2:虚析构函数探究&父类和子类的构造函数与析构函数的调用顺序
- java 中关于子类调用父类构造函数问题
- Java中静态代码块,非静态代码块,以及父类与子类的构造方法的之间调用顺序
- java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题
- 父类,子类,静态属性,静态代码块,构造代码块,构造函数,执行顺序
- 关于父类与子类的构造函数调用顺序