黑马程序员技术交流社区
标题:
静态代码块,构造代码块,构造函数的执行顺序
[打印本页]
作者:
xiaoxinxin003
时间:
2015-7-4 22:29
标题:
静态代码块,构造代码块,构造函数的执行顺序
现在终于理清这三者之间的关系了,总结如下:
package basicTest;
/*
* 这个例子很好的演示了静态代码块 构造代码块 构造函数在程序运行时的加载次序
*
* 静态代码块在初始化对象是就执行而且只执行一次,
* 如果静态代码块与主函数在一个大括号内,则先加载静态代码块
*
* 此外,我们也可以看到,构造代码块的执行优先于构造方法
* */
class Code{
//静态代码块
static{
System.out.println("Code的静态代码块");
}
//构造方法
public Code(){
System.out.println("Code的构造方法");
}
//构造代码块
{
System.out.println("Code的构造块");
}
}
public class CodeBlock03{
{
System.out.println("CodeBlock03的构造块");
}
static{
System.out.println("CodeBlock03的静态代码块");
}
public CodeBlock03(){
System.out.println("CodeBlock03的构造方法");
}
public static void main(String[] args){
System.out.println("CodeBlock03的主方法");
new Code();
/*new Code();
new CodeBlock03();
new CodeBlock03();*/
}
}
作者:
贾森
时间:
2015-7-4 22:55
很不错~
作者:
Frank2008
时间:
2015-7-5 00:16
总结的好,赞!
作者:
赵龙
时间:
2015-7-5 00:44
不错 刚刚看了一下 顶一下
作者:
杨基米德
时间:
2015-7-5 06:48
挺好啊~
作者:
小糊涂仙
时间:
2015-7-5 11:24
还不错
作者:
wengjialiang
时间:
2015-7-5 15:54
静态代码块在初始化对象是就执行而且只执行一次……楼主你这句理解错了
应该是静态代码块随着类的加载而运行,因为程序运行时class文件只加载一次,所以静态代码块只运行一次
作者:
牵着蜗牛去逛街
时间:
2015-7-5 16:05
总结的不错,受教了。。
作者:
icichacici
时间:
2015-7-5 16:40
受教,受教
作者:
xiaoxinxin003
时间:
2015-7-5 17:34
wengjialiang 发表于 2015-7-5 15:54
静态代码块在初始化对象是就执行而且只执行一次……楼主你这句理解错了
应该是静态代码块随着类的加载而运 ...
我的意思是初始化对象,存在多次初始化的情况,比如我的Code()以及CodeBlock03就是创建了两个对象并初始化
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2