首页 > 代码库 > 静态代码块、构造代码块、构造函数的执行
静态代码块、构造代码块、构造函数的执行
1 public class Str { 2 3 static { 4 System.out.println("static{1}"); 5 } 6 static { 7 System.out.println("static{2}"); 8 } 9 { 10 System.out.println("{}"); 11 } 12 13 Str() { 14 System.out.println("Str()"); 15 } 16 17 public static void main(String[] args) { 18 new Str(); 19 new Str(); 20 } 21 }
输出结果:
static{1}
static{2}
{}
Str()
{}
Str()
结论:
1. 静态代码块按顺序执行,且执行一次(类加载时执行)
2. 构造代码块,每次new对象时执行,且先于构造函数执行
3. 执行构造函数
理解:
静态代码块为静态,被类所拥有,类加载时执行;构造代码块非静态,被对象所拥有,对象构造时执行。
静态代码块、构造代码块、构造函数的执行
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。