基础/基础
JavaClass只包含成员函数和类变量,以及一些其他异常,如实例 initliazer、静态块等。
您不能只是将可执行文件(如System.out.println())撒在您希望在Class.
实例初始化器
{...}在 Java 中instance initializer,每当创建 an 时都会调用它object。因为它是instance initializer,它实际上之前被调用过constructor。
你可以System.out.println()在里面写{...} 或instance initializer。
静态块
static{...}在 Java中调用static block,其中包含的代码行仅class在JVM.
同样,你可以System.out.println()在里面写{...} 或static block.
下面的简单可执行示例
public class JavaExample {
public JavaExample (String name){
System.out.println("Inside constructor" + name);
}
{
System.out.println("Inside instance initializer");
}
static{
System.out.println("Inside static block");
}
//System.out.println("Will give error"); //ERROR
public static void main(String[] args) {
JavaExample obj1 = new JavaExample ("obj1");
JavaExample obj2 = new JavaExample ("obj2");
System.out.println("Inside the public static void main");
}
}
输出
> Inside static block
> Inside instance initializer
> Inside constructor: obj1
> Inside instance initializer
> Inside constructor: obj2
> Inside the public static void main
请注意执行顺序。
- 静态块(当 JVM 加载 Class 时被调用一次,因此首先)
- 实例初始化器(在调用任何对象实例化之前)
- 构造函数(在对象创建/初始化期间)