父子类中静态方法、构造代码块、构造方法的执行顺序 您所在的位置:网站首页 中国民用靶场分布图最新版高清 父子类中静态方法、构造代码块、构造方法的执行顺序

父子类中静态方法、构造代码块、构造方法的执行顺序

2024-07-14 18:42| 来源: 网络整理| 查看: 265

面试中做笔试题经常会考察父子类中各种方法的执行顺序,示例是其中一个面试题:

public class A { public int i = method(); public static int j = method2(); public int k = 0; public A() { System.out.println(1); } private int method() { System.out.println(2); return 2; } private static int method2() { System.out.println(3); return 3; } } public class B extends A{ public static int n = method4(); public int t = 0; public int m = method3(); public B() { System.out.println(4); } private int method3() { System.out.println(5); return 5; } private static int method4() { System.out.println(6); return 6; } public static void main(String[] args) { System.out.println(7); A a = new B(); } }

本题让输出程序的执行结果。

这道题考察了,静态方法、构造方法、普通方法、继承的相关知识;首先,在类中静态代码块最先被执行,因为静态方法在类被jvm加载的时候就会被执行;之后就是非静态方法(构造代码块)执行,因为非静态方法是属于对象的,对象创建后就会优先加载调用;之后调用构造方法,构造方法在对象创建后,非静态方法之后调用。

所以,父子类中静态方法、构造代码块、构造方法的执行顺序为 :父类静态方法>子类静态方法父>父类构造代码块>父类构造方法>子类构造代码块>子类构造方法。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有