我们可以编写程序查看:
//父类
class Test{
public Test(){
System.out.println("父类实例变量");
}
}
class StaticTest{
public StaticTest(){
System.out.println("父类静态变量");
}
}
class People{
private Test test = new Test();
private static StaticTest staticTest = new StaticTest();
static{
System.out.println("父类静态块");
}
{
System.out.println("父类实例块");
}
public People(){
System.out.println("父类构造方法");
}
}
//子类
class TestS{
public TestS(){
System.out.println("子类实例变量");
}
}
class StaticTestS{
public StaticTestS(){
System.out.println("子类静态变量");
}
}
class Student extends People{
private TestS tests = new TestS();
private static StaticTestS staticTests = new StaticTestS();
static{
System.out.println("子类静态块");
}
{
System.out.println("子类实例块");
}
public Student(){
System.out.println("子类构造方法");
}
}
//主函数
public class TestDemo {
public static void main(String[] args){
Student student = new Student();
}
}
运行结果:
父类静态变量
父类静态块
子类静态变量
子类静态块
父类实例变量
父类实例块
父类构造方法
子类实例变量
子类实例块
子类构造方法