文档章节

一道题理清父子类中 静态代码块和构造方法执行顺序

猴亮屏
 猴亮屏
发布于 2014/06/03 21:40
字数 228
阅读 106
收藏 5

我有一道经典的试题,倒在上面的人许多,今天就剧透了,呵呵:

01 public class A {
02     public A(){
03         System.out.println("A3");
04     }
05     {
06         System.out.println("A1");
07     }
08     static {
09         System.out.println("A2");
10     }
11 }

再写个B类

01 public class extends A {
02     public B(){
03         System.out.println("B3");
04     }
05     {
06         System.out.println("B1");
07     }
08     static {
09         System.out.println("B2");
10     }
11
12
13     public static void main(String[] args) {
14         A a1=new B();
15         B a2=new B();
16     }
17 }

然后执行B类的main方法,请给出在控制台输出的内容是怎样的。

答案:

1.先执行静态代码块:2

2.静态代码块按类加载的顺序:A B

3.先初始化父类再初始化子类:A B

4.先执行类代码块再执行构造方法:1 3

综上:A2 B2 A1 A3 B1 B3 A1 A3 B1 B3


本文转载自:http://www.oschina.net/question/1245989_157282

共有 人打赏支持
猴亮屏

猴亮屏

粉丝 33
博文 518
码字总数 58250
作品 2
北京
Android工程师
加载中

评论(1)

zqq90
zqq90
好例子
Java中类的加载顺序剖析

这其实是去年校招时的一道阿里巴巴的笔试题,如果没记错的话,当时是作为Java方向的一道选做大题。当然题意没有这么直白,题目只要求你写出程序运行后所有System.out.println的输出结果,其中...

火力全開
2016/10/09
3
0
java继承:父类和子类的关系

继承是java实现多态的一个重要元素之一,本文主要是自我学习了解java继承中父类和子类的关系。下面看父类和子类的源码 父类: 子类: 用例1(父类引用指向子类对象)测试执行顺序: 本例主要...

上官胡闹
2016/10/23
29
0
java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题

/* * 几大原则 * 一、静态成员变量(Static) * 1、静态成员变量为类变量,所有对象共享同一内存空间 * 2、静态成员变量的声明和定义仅在首次加载类时执行一次 * 3、首次加载类时首先对所有静...

LCZ777
2014/08/25
0
0
关于 static 和 final 的一些理解

---恢复内容开始--- 今天主要回顾一下 static 和 final 着两个关键字。 1. static - 静态 修饰符 - 用于修饰数据(变量、对象)、方法、代码块以及内部类。 1.1 静态变量 用static修饰变量,...

唐雕
08/11
0
0
Java和Android ClassLoder对比以及Class加载过程

Java的ClassLoder的父子关系如下:Bootstrap--ExtClassClassLoader---AppClassLoader。 JVM启动时先运行启动类加载器Bottstrap,主要加载Java核心API;然后加载扩展类加载器ExtClassLoder,该...

JasmineBen
05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

简单工厂模式(Factory) 做静态工厂方法(StaticFactory Method)模式,但不属于23 种设计模式之一 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类 Spring...

职业搬砖20年
13分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
21分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
30分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
58分钟前
7
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
59分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部