- <div>class Student {
- static {
- System.out.println("Student 静态代码块");
- }
-
- {
- System.out.println("Student 构造代码块");
- }
-
- public Student() {
- System.out.println("Student 构造方法");
- }</div><div>}
- class Demo2_Student {
- static {
- System.out.println("Demo2_Student静态代码块");
- }
-
- public static void main(String[] args) {
- System.out.println("我是main方法");
-
- Student s1 = new Student();
- Student s2 = new Student();
- }
- }
- 结果为:Demo2_Student静态代码块 //静态代码块优先于主方法执行,且只在类加载时执行一次
- 我是main方法 //执行主方法
- Student 静态代码块 //静态代码块优先于构造代码块执行
- Student 构造代码块 //构造代码块优先于构造方法执行
- Student 构造方法 //执行构造方法
- Student 构造代码块 //因为静态代码块只在类加载时执行一次,所以这里不再执行,而是执行构造代码块
- Student 构造方法 //执行构造方法</div>
复制代码
|
|