看程序写结果
* 静态代码块的特点:随着类的加载而加载,优先于多项存在(只执行一次)
* 优先级:静态代码块>构造代码块>构造方法
*
* 在内存中:检查当前整个Java文件的代码结构:继承关系(跟父类相关的静态的东西优先执行,
* 然后子类继承父类,子类的所有构造方法默认父类无参构造方法(分层初始化),先让父类初始化,再是子类初始化)
class Person{
static {
System.out.println("Person的静态代码块");
}
{
System.out.println("Person的局部代码块");
}
public Person() {
System.out.println("Person的构造方法");
}
}
class Student extends Person{
static {
System.out.println("Student的静态代码块");
}
{
System.out.println("Student的局部代码块");
}
public Student() {
System.out.println("Student的构造方法");
}
}
public class ExtendsDemo3 {
public static void main(String[] args) {
Student s=new Student();
System.out.println("---------");
Student s2=new Student();
}
}