java中静态初始化块,实例初始化块,构造函数区别
来源:互联网 发布:java paxos算法 编辑:程序博客网 时间:2024/05/22 12:34
public class People{ public static int num=0;//静态变量 String name; static//静态初始化块 { System.out.println(num+":静态初始化块"); } {//实例初始化块 System.out.println(num+":实例初始化块"); } public People(String name) { System.out.println(num+":构造函数初始化"); this.name=name; num++; }/** * @param args */public static void main(String[] args){// TODO Auto-generated method stub People people=new People("lip"); People people2=new People("xiaoli");}}
运行效果:
new两个实例,从运行结果可以看出,静态变量和静态初始化块都是在类加载到系统时,加载到系统中,静态初始化块只运行一次,实例初始化块和构造函数都是运行两次,也就是说,有一个对象就执行一次实例初始化块和构造函数。 三个的执行顺序也显而易见:静态初始化块 -实例初始化块- 构造函数
在eclipse中打开编译的People.class如下图所示:
0 iconst_0 这个是将静态变量加载到内存中
20 ldc <String ":静态初始化块"> [32] 执行静态初始化块,只加载一次到内存
2 0
- java中静态初始化块,实例初始化块,构造函数区别
- java中静态初始化块,实例初始化块,构造函数区别
- java中静态初始化块,实例初始化块,构造函数区别
- 静态初始化块、初始化块、构造函数
- 静态初始化块、初始化块、构造函数
- java静态初始化块、实例初始化块
- Java中初始化块和静态初始化块的区别
- Java类初始化顺序问题:静态初始化块,非静态初始化块以及构造函数
- Java初始化-静态代码块、实例化代码块和构造函数的区分
- java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
- java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
- java类中静态域、块,非静态域、块,构造函数的初始化顺序
- Java中静态代码块、非静态代码块以及构造函数的初始化顺序
- 静态初始化块,初始化块,构造函数,静态方法
- JAVA静态初始化块,初始化块,构造器调用顺序
- Java 构造方法,初始化块,静态初始化块
- java中的构造方法,初始化块,静态初始化块
- Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序
- Oracle 集合操作符
- CentOS下yum安装wine
- Android之拨打接挂电话功能实现
- MacBook 获取Rgb值的自带小软件
- UVA - 1644 Prime Gap
- java中静态初始化块,实例初始化块,构造函数区别
- topcoder AvoidRoads solution
- 用UML建模开发嵌入式软件
- Android应用被强制停止后无法接受广播解决方案
- TCP套接口利用TCP自带的 SO_KEEPALIVE选项实现指定时间检测是否激活状态的方法
- C----LessonDataType
- 2014年4月读书单
- 浅谈网页搜索排序中的投票模型
- cadence中画焊盘注意事项