基础/基础
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 时被调用一次,因此首先)
- 实例初始化器(在调用任何对象实例化之前)
- 构造函数(在对象创建/初始化期间)