黑马程序员_java静态代码块、构造代码块和构造函数的执行时间分析
2014-07-09 19:38
267 查看
------- android培训、java培训、期待与您交流! ----------
java中有几个比较特殊的代码块,有些随着类的加载而执行,有些是随着对象的加载而执行。这里我们讲一下java中的静态代码块、构造代码块以及构造函数的执行时间特点。
下面这段代码中有两个类Demo和ConstructionDemo. Demo类中有一个静态代码块,ConstructionDemo中有一个静态代码块、一个构造代码块和一个构造函数。
程序的执行结果:
静态代码块
静态代码块2
构造代码块
构造函数
-------------------------------
构造代码块
构造函数
上面的结果可以看出:
1. 静态代码块只执行了一次。它是随着类的加载而执行的,类只加载了一次,所以静态代码块就只执行一次。
2. 构造代码块执行了两次。因为它是随着对象的建立而执行的,我们创建了两个对象,所以就执行了两次。
3. 构造代码块先于构造函数执行。
4. 构造函数执行了两次。因为我们创建了两个对象。
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
java中有几个比较特殊的代码块,有些随着类的加载而执行,有些是随着对象的加载而执行。这里我们讲一下java中的静态代码块、构造代码块以及构造函数的执行时间特点。
下面这段代码中有两个类Demo和ConstructionDemo. Demo类中有一个静态代码块,ConstructionDemo中有一个静态代码块、一个构造代码块和一个构造函数。
class Demo{ static{ System.out.println("静态代码块"); } public static void main(String[] args){ ConstructionDemo cd1 = new ConstructionDemo(); System.out.println("-----------------------"); ConstructionDemo cd2 = new ConstructionDemo(); } } class ConstructionDemo{ static{ System.out.println("静态代码块2"); } { System.out.println("构造代码块"); } public ConstructionDemo(){ System.out.println("构造函数"); } }
程序的执行结果:
静态代码块
静态代码块2
构造代码块
构造函数
-------------------------------
构造代码块
构造函数
上面的结果可以看出:
1. 静态代码块只执行了一次。它是随着类的加载而执行的,类只加载了一次,所以静态代码块就只执行一次。
2. 构造代码块执行了两次。因为它是随着对象的建立而执行的,我们创建了两个对象,所以就执行了两次。
3. 构造代码块先于构造函数执行。
4. 构造函数执行了两次。因为我们创建了两个对象。
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
相关文章推荐
- 黑马程序员——java中静态代码块、构造代码块、构造函数的执行顺序以及作用
- 黑马程序员——Java基础---静态代码块和构造方法执行顺序
- Java类中子类和基类的构造代码块,静态代码块、子类构造函数,基类构造函数的执行顺序
- 黑马程序员-Java之构造代码块、构造函数、静态代码块
- Java学习笔记——静态代码块,构造代码块,构造函数间的执行顺序
- 黑马程序员-java中构造函数、构造代码块、静态代码块及它们的初始化顺序
- java子类父类静态代码块 构造代码块 构造函数执行顺序
- 静态代码块,构造代码块,构造函数的执行分析
- Java中构造函数、构造代码块、静态代码块等的执行顺序问题
- [java起步]构造函数、构造代码快、静态代码块的执行顺序
- java中的静态代码块、构造代码块、构造函数执行顺序
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- 关于Java中静态代码块以及构造函数的执行先后顺序
- Java中静态代码块、非静态代码块和构造函数的执行顺序
- 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序
- 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序
- 举例说明java中静态代码块、非静态代码块、构造函数的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序
- 黑马程序员:Java之介绍对象、封装、构造函数、构造代码块及this关键字
- 黑马程序员 JAVA初级-面向对象 匿名对象、封装、构造函数、构造代码块、this