初始化块是没有名字的形参 init block
public class J6 {
{
System.out.println("WOED");
}
//1. 属性 property
String name ;
//2. 方法 method
public void go () { }
//3.构造器 constructor
J6()
{
System.out.println("BEAUTYFUL");
}
//4. init block 没有名字的形参
{
System.out.println("HELLO");
}
public static void main(String[] args) {
new J6() ;
}
}
输出结果为: WORD HELLO BEAUTFUL
执行顺序为先执行完初始化块再执行构造器的内容
public class J6 {
{
System.out.println("WOED");
}
//1. 属性 property
String name ;
//2. 方法 method
public static void go () { }
//3.构造器 constructor
J6()
{
System.out.println("BEAUTYFUL");
}
//4. init block 没有名字的形参
{
System.out.println("HELLO");
}
public static void main(String[] args) {
go();
}
}
输出结果为 : 空
只有构造器(实例化)执行才执行
public class J7 extends J71{
int age = 100 ;
{
age = 200 ;
System.out.println("2");
}
public static void go () {}
J7()
{
System.out.println("3");
}
{
age = 300 ;
System.out.println("1");
}
public static void main(String[] args) {
new J7();
}
}
class J71{
{
System.out.println("4");
}
J71()
{
System.out.println("5");
}
{
System.out.println("6");
}
}
输出结果为 : 4 6 5 2 1 3 验证结论