问答详情
源自:9-7 Java 中的 super 的使用

使用super访问父类对象属性

在运行时为什么会出现Animal类执行了http://img4.mukewang.com/5d730efd0001052d08450544.jpg

提问者:qq_说散就散_0 2019-09-07 09:59

个回答

  • Ray_Loy
    2019-09-07 11:24:27
    已采纳

    你这两句打印应该是写在了Animal类的构造方法和Dog类的构造方法里面把,这里其实需要你了解的是在你声明子类对象的时候,首先会调用子类的构造方法,但是在子类的构造方法方法体里面,其实会隐式的默认调用父类的构造方法并实例化一个父类对象,之后才会生成子类对象,那么在调用父类构造方法的时候,自然会打印出Animal类执行了这句话

  • Ray_Loy
    2019-09-09 22:19:59

    其实描述成会同时实例化一个父类对象是不太准确的,事实上真正的只是在内存空间模拟分配了一个父类对象的空间,也就是并没有实例化一个父类对象,但是如果只是为了方便理解的话,这样还是比较适合新手的