Java 中的静态块和构造函数有什么区别?
javaobject oriented programmingprogramming更新于 2024/7/26 5:12:00
静态块
- 静态块在类加载时执行。
- 静态块在运行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!