Java中类的初始化顺序
来源:互联网 发布:路老膏方 网络网站 编辑:程序博客网 时间:2024/05/16 12:45
今天做了一道题,我突然之间就忘记了static初始化的顺序是什么了,通过这道题,大概可以回忆一点什么的
public class StaticTest {public static void main(String[] args) {Myclass m1 = new Myclass();Myclass m2 = new Myclass();System.out.println(Myclass.count);}}class Myclass{public static int count = 0;static {count++;}public Myclass(){count++;}}
问题是程序的输出结果是什么?
答案是:3;
我们来看看其中初始化顺序是什么样子的。编译器在初始化的时候的顺序是:
静态变量、静态初始化块->变量、初始化块->构造器。
像这道题,首先编译器会初始化静态变量count,然后初始化静态块,然后创建两个Myclass对象时有两次count++;最终得到count的值为3;
0 0
- 【Java】Java中类的初始化顺序
- Java中类初始化的顺序
- Java中类初始化的顺序
- Java中类的初始化顺序
- JAVA中类的初始化顺序
- Java中类的初始化顺序总结
- Java类中属性的初始化顺序
- java中类的初始化调用顺序
- java中类的初始化顺序
- Java中类的初始化顺序
- Java中类的初始化顺序
- Java中类的初始化顺序
- JAVA中类的初始化执行顺序
- java中类的初始化顺序
- java类中成员初始化的顺序
- Java中类继承的初始化顺序
- Java中类的初始化顺序
- Java中类的初始化顺序
- MIPS指令
- 神秘博士之永生
- Linux串口编程详解
- HDU Leftmost Digit(求n^n最高位的数字)
- input子系统学习(2)
- Java中类的初始化顺序
- 《一个操作系统的实现--第三章》段的查找
- Sphinx+Scws 搭建千万级准实时搜索&应用场景详解
- C++学习之指针的常见错误
- ImageView 从网络下载图片
- SQLite简单类库
- jstl 常用function
- Windows核心编程(二)字符和字符串处理
- java基础笔记