new Test1()这个就是创建子类对象了。这句话就和 Test1 t = new Test1();是一样的,只不过这个new Test1()创建了一个每名字的对象而已。当你创建这个对象的时候,会调用Test1的构造方法
public Test1() {
//super();这里有个隐含的super()会去调用你的父类的构造函数,也就是第04行,父类构造函数调用了
//父类的print,打印了depend -》10;然后执行i = 20将父类中的i改变为20
print(); //然后执行这句,执行Test1的print,打印target—》30
super.print();//然后执行这句,执行父类的print,因为刚才你已经将父类的i = 20了,所以打印//target-》20喽
i = 40;
}