首页新闻找找看学习计划

java继承问题

0
悬赏园豆:10 [已解决问题] 解决于 2017-03-22 14:13

我们知道java中子类继承父类,会使用super()对父类初始化,此时并没有通过new或其他方式来构造父类对象,那么在子类中我们可以使用super.父类方法,来调用父类成员方法,但是,类的成员方法需要该类的对象才能调用,由此,小弟很不明白,子类继承父类,没有产生父类对象,怎么能调用父类方法,这里的super本质到底是个什么啊?

码农yi生的主页 码农yi生 | 初学一级 | 园豆:193
提问于:2017-03-22 12:53
< >
分享
最佳答案
0

子类构造函数会在父类构造函数执行完后执行.也就是说父类对象已经构造完了了.才会调用子类构造函数.

收获园豆:10
吴瑞祥 | 高人七级 |园豆:28729 | 2017-03-22 13:33

这里构造了父类对象?调用构造方法只是初始化父类成员啊,晕了

码农yi生 | 园豆:193 (初学一级) | 2017-03-22 13:38

@码农yi生: 集合的概念有吗.你可以当他是一个大饼.

子类就是一个完整的大饼,父类就是这个大兵中的一部分.

子类对象里包含父类对象.

吴瑞祥 | 园豆:28729 (高人七级) | 2017-03-22 14:00

@吴瑞祥: 非常nice

码农yi生 | 园豆:193 (初学一级) | 2017-03-22 14:13
其他回答(2)
0

首先,this 是指当前对象,通过this.来调用当前对象的方法,而super的本质其实是一个范围,或者说是特征,子类继承父类,子类中含有父类的特征,这些特征包含了父类的方法。

hectorqin | 园豆:202 (菜鸟二级) | 2017-03-22 13:59

谢谢大兄弟

支持(0) 反对(0) 码农yi生 | 园豆:193 (初学一级) | 2017-03-22 14:13
0

首先,可以肯定的事并没有创建父类对象,执行父类的构造方法只是初始化父类,并在子类的堆内存空间中开辟出了父类的一块专属空间,所以此时父类堆内存的地址就是子类在堆内存中的地址,this代表当前对象的引用,super就是父类堆内存空间

刚反面 | 园豆:209 (菜鸟二级) | 2017-03-24 00:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册