课程
/后端开发
/Java
/Java入门第二季 升级版
在运行时为什么会出现Animal类执行了
2019-09-07
源自:Java入门第二季 升级版 9-7
正在回答
你这两句打印应该是写在了Animal类的构造方法和Dog类的构造方法里面把,这里其实需要你了解的是在你声明子类对象的时候,首先会调用子类的构造方法,但是在子类的构造方法方法体里面,其实会隐式的默认调用父类的构造方法并实例化一个父类对象,之后才会生成子类对象,那么在调用父类构造方法的时候,自然会打印出Animal类执行了这句话
qq_说散就散_0 提问者
其实描述成会同时实例化一个父类对象是不太准确的,事实上真正的只是在内存空间模拟分配了一个父类对象的空间,也就是并没有实例化一个父类对象,但是如果只是为了方便理解的话,这样还是比较适合新手的
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
1 回答如果想要获得父类的父类的属性,可以使用super吗?
3 回答子类用super调用父类有参数构造函数,是否会访问到父类的私有属性?
2 回答父类数去获取子类对象的属性
2 回答父类引用指向子类对象时,属性的情况?
3 回答父类没有属性,子类新加的属性,是不能用父类的引用指向子类对象的吧