Java基础笔记08-代码块
- 代码块:在java中一对{}就被称为代码块。
1.构造代码块
- 在类中单独一对{},没有名字及其他任何修饰符,就被称为构造代码块。
- 构造代码块没有名字,因和构造器相关联,所以会在创建对象时自动调用。
- 构造代码块执行顺序是在有名字的构造器之前。
2.静态构造代码块
-
在构造代码块之前添加修饰符static,被称为静态构造代码块。
-
因由static修饰的代码块或者变量是随着类的加载而加载,所以静态构造代码块在构造代码块之前执行。
举例:
public class CodeBlock { int age; //构造代码块 { System.out.println("构造代码块"); } //静态构造代码块 static { System.out.println("静态构造代码块"); } //构造器 public CodeBlock(){ System.out.println("构造器"); } //方法 public void show() { System.out.println("这是一个方法"); } }
- 仅创建一个对象
public class CodeBlockDemo { public static void main(String[] args) { CodeBlock code = new CodeBlock(); } }
- 输出结果为:
静态构造代码块 构造代码块 构造器
-
由上例得出,在创建新对象之后,构造器即可执行,且各个构造器执行顺序为 静态构造代码块>构造代码块>构造器。
- 调用上例show()方法
public class CodeBlockDemo { public static void main(String[] args) { CodeBlock code = new CodeBlock(); code.show(); } }
- 输出结果为:
静态构造代码块 构造代码块 构造器 这是一个方法
-
进一步得出方法运行在构造器之后。