Java 中静态块和构造函数的区别是什么?
静态块
- 静态块在类加载时执行。
- 静态块在运行main() 方法之前执行。
- 静态块在其原型中没有名称。
- 如果我们希望在类加载时执行任何逻辑,则需要将该逻辑放在静态块中,以便在类加载时执行。
语法
static { //some statements }
示例
public class StaticBlockTest { static { System.out.println("Static Block!"); } public static void main(String args[]) { System.out.println("Welcome to Tutorials Point!"); } }
输出
Static Block! Welcome to Tutorials Point!
构造函数
- 在Java 中,构造函数在创建对象时执行。
- 在创建类对象时调用构造函数。
- 构造函数的名称必须始终与类名相同。
- 构造函数每个对象只调用一次,并且可以根据创建对象的次数调用多次。即在创建对象时自动执行构造函数。
语法
public class MyClass { //This is the constructor MyClass() { // some statements } }
示例
public class ConstructorTest { static { //static block System.out.println("In Static Block!"); } public ConstructorTest() { System.out.println("In a first constructor!"); } public ConstructorTest(int c) { System.out.println("In a second constructor!"); } public static void main(String args[]) { ConstructorTest ct1 = new ConstructorTest(); ConstructorTest ct2 = new ConstructorTest(10); } }
输出
In Static Block! In a first constructor! In a second constructor!
广告