在运行时为什么会出现Animal类执行了
你这两句打印应该是写在了Animal类的构造方法和Dog类的构造方法里面把,这里其实需要你了解的是在你声明子类对象的时候,首先会调用子类的构造方法,但是在子类的构造方法方法体里面,其实会隐式的默认调用父类的构造方法并实例化一个父类对象,之后才会生成子类对象,那么在调用父类构造方法的时候,自然会打印出Animal类执行了这句话
其实描述成会同时实例化一个父类对象是不太准确的,事实上真正的只是在内存空间模拟分配了一个父类对象的空间,也就是并没有实例化一个父类对象,但是如果只是为了方便理解的话,这样还是比较适合新手的