javaSE-代码块
构造代码块
构造代码块在对象创建时于构造函数前执行,且每次对象被创建时都会执行。
public class CodeBlockTest {
// static
// {
// System.out.println("静态代码块被调用");
// }
{
System.out.println("代码块被调用");
}
public CodeBlockTest() {
System.out.println("构造函数被调用");
}
}
public class Main {
public static void main(String[] args) {
new CodeBlockTest();
new CodeBlockTest();
}
}
//代码块被调用
//构造函数被调用
//代码块被调用
//构造函数被调用
静态代码块
静态代码块在类加载时就会调用,先于代码块。
public class CodeBlockTest {
static
{
System.out.println("静态代码块被调用");
}
{
System.out.println("代码块被调用");
}
public CodeBlockTest() {
System.out.println("构造函数被调用");
}
public static void main(String[] args) {
}
}
//静态代码块被调用
public class CodeBlockTest {
static
{
System.out.println("静态代码块被调用");
}
{
System.out.println("代码块被调用");
}
public CodeBlockTest() {
System.out.println("构造函数被调用");
}
public static void main(String[] args) {
new CodeBlockTest();
}
}
//静态代码块被调用
//代码块被调用
//构造函数被调用