JAVA在类里面的代码块
JAVA类里面可以包括普通代码块、静态代码块、构造器代码块,通过下面的例程分析不同类型的代码块在新建一个类的时候的出现的时机。
class Person{
// 普通代码块
{
System.out.println("A");
}
// 静态代码块
static{
System.out.println("B");
}
// 构造器代码块
public Person(){
System.out.println("C");
}
}
class Son extends Person{
{
System.out.println("D");
}
static {
System.out.println("E");
}
public Son(){
System.out.println("F");
}
}
public class Main {
public static void main(String[] args) {
// write your code here
Son son = new Son();
System.out.println();
Son son1 = new Son();
}
}
输出:
B
E
A
C
D
F
A
C
D
F
程序的大体顺序是先运行父类的优先度高的代码块后运行子类的优先度高的代码块,不同的代码块的优先顺序不一样。
静态代码块的运行顺序是最优先,但只运行一次,运行过一次后,以后的新建对象并不会运行静态代码块。
普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”,普通代码块的出现优先于构造器代码块。
构造器代码块最后运行。
网友评论