静态块是带有static关键字的代码块。 通常,这些用于初始化类的静态成员。 JVM在加载类时在main方法之前执行静态块。
示例public class MyClass {
static{
System.out.println("Hello this is a static block");
}
public static void main(String args[]){
System.out.println("This is main method");
}
}
输出结果Hello this is a static block
This is main method
构造函数类似于方法,在创建类的对象时调用,通常用于初始化类的实例变量。 构造函数与它们的类同名,并且没有返回类型。public class MyClass {
MyClass(){
System.out.println("你好,这是一个构造函数");
}
public static void main(String args[]){
new MyClass();
}
}
输出结果你好,这是一个构造函数
实例方法
这些是类的常规方法(非静态),您需要使用该类的对象来调用它们-
示例public class MyClass {
public void demo(){
System.out.println("你好,这是一个实例方法");
}
public static void main(String args[]){
new MyClass().demo();
}
}
输出结果你好,这是一个实例方法
执行顺序
当所有三个类都放在一个类中时,将首先执行静态块,然后执行构造函数,然后执行实例方法。
例public class ExampleClass {
static{
System.out.println("你好,这是静态块");
}
ExampleClass(){
System.out.println("你好,这是一个构造函数");
}
public static void demo() {
System.out.println("你好,这是一个实例方法");
}
public static void main(String args[]){
new ExampleClass().demo();
}
}
输出结果你好,这是静态块
你好,这是一个构造函数
你好,这是一个实例方法