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!
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP