黑马程序员技术交流社区

标题: 类的继承?! [打印本页]

作者: 曹思敏    时间: 2013-6-6 11:41
标题: 类的继承?!
本帖最后由 曹思敏 于 2013-6-7 08:39 编辑

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

作者: eycrckag    时间: 2013-6-6 11:47
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。子类可以覆盖父类的方法。但是成员变量的话,走的是父类,如果是静态的话,覆盖不了父类。JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。若类B继承类A,则属于B的对象便具有类A的全部或部分性质(数据属性)和功能(操作),我们称被继承的类A为基类、父类或超类,而称继承类B为A的派生类或子类。
继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。
作者: 孙宁洋    时间: 2013-6-6 12:48
实例化子类后,子类就拥有了父类的相关属性和方法,可以在本类中去调用这些属性和方法。对父类没有什么关系。如果父类是abstract那么,子类必须要复写所有的父类的抽象方法后才能被实例化。
作者: 风乐    时间: 2013-6-6 13:11
肯定会的,实例化对象用到构造函数吧,楼主是否记得子类构造函数中有super()语句呢,所以说创建对象时是会先用父类的构造函数进行初始化的
作者: Renica    时间: 2013-6-6 13:25
上面说的很清楚了,来占个位置吧。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2