A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹思敏 中级黑马   /  2013-6-6 11:41  /  1178 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 曹思敏 于 2013-6-7 08:39 编辑

在一个继承树中,实例化了其中一个子类,会引起和其父类相关的操作么?如果父类是抽象类,
会有什么不同么?

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

4 个回复

倒序浏览
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。子类可以覆盖父类的方法。但是成员变量的话,走的是父类,如果是静态的话,覆盖不了父类。JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。若类B继承类A,则属于B的对象便具有类A的全部或部分性质(数据属性)和功能(操作),我们称被继承的类A为基类、父类或超类,而称继承类B为A的派生类或子类。
继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
实例化子类后,子类就拥有了父类的相关属性和方法,可以在本类中去调用这些属性和方法。对父类没有什么关系。如果父类是abstract那么,子类必须要复写所有的父类的抽象方法后才能被实例化。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
肯定会的,实例化对象用到构造函数吧,楼主是否记得子类构造函数中有super()语句呢,所以说创建对象时是会先用父类的构造函数进行初始化的

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
上面说的很清楚了,来占个位置吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马