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 静态块! 在第一个构造函数中! 在第二个构造函数中!