阿里面试题:关于类中静态,非静态,构造方法的执行顺序
来源:互联网 发布:dnf好听的装备名字知乎 编辑:程序博客网 时间:2024/04/29 15:24
可见java基础还是很重要的,我相信还是有很多人写错的,贴出来大家一起学习。
题目要求:输出运行结果:
运行结果如下:
1:j i=0 n=0
2:构造块 i=1 n=1
3:t1 i=2 n=2
4:j i=3 n=3
5:构造块 i=4 n=4
6:t2 i=5 n=5
7:i i=6 n=6
8:静态块 i=7 n=99
9:j i=8 n=100
10:构造块 i=9 n=101
11:init i=10 n=102
首先看到static关键字,脑子里面第一反应有几点,
1、公有属性,可以有类名称直接访问。
2、静态方法,可以有类名称直接方法。
3、静态方法或者属性,可以再对象实例化之前就调用
至于该题中,顺序执行,先执行public static int k =0 ;
因为没有输出不用考虑这个,接着public static Text t1 = new Text("t1") ;
在t1对象初始化时先执行非静态方法或者非静态常量,顺序执行,接着运行构造参数,
根据程序来看应该打印三条记录,分别是
1:j i=0 n=0
2:构造块 i=1 n=1
3:t1 i=2 n=2
接下来public static Text t2 = new Text("t2") ;同理,执行完之后继续执行static代码块或者赋值静态变量,在main()方法中new了一个新的实例,静态变量只执行一次,接下来就是顺序执行非静态方法---->构造方法。应该是这样的顺序,面试的时候我写的不完成,哎。
接着想到继承关系(extends)子类继承一个父类之后,对象初始化的顺序又是怎样?
我写了一个demo,大家共勉
输入结果如下:
父类静态方法
子类静态方法
父类非静态方法
父类构造
子类非静态方法
子类构造
最后总结了几点:
总结了一点,不对之处还望多多指点,多谢。
转载地址:http://blog.csdn.net/cherishme1988/article/details/12095637- 阿里面试题:关于类中静态,非静态,构造方法的执行顺序
- 阿里面试题:关于类中静态,非静态,构造方法的执行顺序
- 阿里面试题:关于类中静态,非静态,构造方法的执行顺序
- 关于类中静态,非静态,构造方法的执行顺序
- 关于类中静态,非静态,构造方法的执行顺序
- 关于类中静态,非静态,构造方法的执行顺序
- 关于静态块,静态方法,非静态方法,构造方法执行的顺序
- 关于类中静态块,静态方法,构造代码块,构造方法的执行顺序
- java中静态块,静态方法,非静态方法,构造方法执行的顺序
- 总结java中静态块,静态方法,非静态方法,构造方法执行的顺序
- 关于java代码中静态代码块、非静态构造代码块以及构造方法的执行顺序
- 浅析java中静态方法,非静态方法和构造方法的执行顺序问题
- Java中关于静态代码块,非静态代码块,构造方法,静态方法,一般方法执行顺序
- Java中静态代码块、非静态代码块、构造方法三者的执行顺序
- java父类子类中静态块非静态块构造方法的执行顺序和继承
- 父类子类构造方法、静态代码块、非静态代码块的执行顺序
- 不包含继承时类中的静态块、静态方法、非静态方法、构造函数的执行顺序?
- JAVA 中 静态方法,非静态方法,构造方法 ,执行顺序
- OpenCV blur()
- 01_hadoop发展简史
- 汇编语言之寄存器(内存访问)
- 安卓系统中调试webview页面的实践
- [数据结构与算法]模式匹配与文本处理-匿名组与命名组
- 阿里面试题:关于类中静态,非静态,构造方法的执行顺序
- hdu5861【线段树】
- Method的invoke()方法的使用
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
- [bzoj4621] Tc605 解题报告
- 排序算法总结
- 为什么开始写微博
- Android manifest中强制设置横屏无效
- 梁权财到徐闻生态工业集聚区调研