public class Test2 extends Test1 {
{
System.out.print("1");
}
Test2() {
System.out.print("2");
}
static {
System.out.print("3");
}
{
System.out.print("4");
}
public static void main(String[] args) {
Test1.main(args);
new Test2();
}
}
class Test1 {
int i =10;
{
System.out.print("7");
}
Test1() {
System.out.print("5");
}
static {
System.out.print("6");
}
public static void main(String[] args) {
new Test2();
}
}
上面的程序是测试的
一个main方法是java解释器默认的,当执行一个类的时候,java首先执行它的static的方法,然后去早是否有
main方法,在执行main方法。
int i =10; { int i =10; }
这两个都是声明成员变量,在装载一次class的时候,class内部的成员变量就被初始化一次
static方法是单独属于类的成员空间下的一块区域,有自己的内存单独的内存地址。