Java中的静态块和构造函数之间有什么区别?
静态块
该štatic块 在时执行的类加载。
štatic块运行之前执行 main()方法。
在静态 块 没有任何名称在它的原型。
如果我们希望在类加载时需要执行任何逻辑,则需要将该逻辑放在静态块中,以便在类加载时执行该逻辑。
语法
static { //一些陈述 }
示例
public class StaticBlockTest { static { System.out.println("静态块!"); } public static void main(String args[]) { System.out.println("Welcome to nhooo.com!"); } }
输出结果
静态块! Welcome to nhooo.com!
构造函数
一个构造函数 将同时被执行 创建对象在Java中。
甲构造 而创建一个类的一个对象被调用。
构造函数的名称必须始终与类相同。
一个构造函数 被调用一次对一个对象,它被称为很多次 ,我们可以创建一个对象。即,创建对象时,构造函数将自动执行。
语法
public class MyClass { //这是构造函数 MyClass() { // 一些陈述 } }
示例
public class ConstructorTest { static { //静态块 System.out.println("In 静态块!"); } public ConstructorTest() { System.out.println("在第一个构造函数中!"); } public ConstructorTest(int c) { System.out.println("在第二个构造函数中!"); } public static void main(String args[]) { ConstructorTest ct1 = new ConstructorTest(); ConstructorTest ct2 = new ConstructorTest(10); } }
输出结果
In 静态块! 在第一个构造函数中! 在第二个构造函数中!