黑马程序员技术交流社区

标题: 继承 [打印本页]

作者: SHISY    时间: 2015-6-16 23:24
标题: 继承
1.定义:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
------这多个类称为子类,单独这个类称为父类或者超类。
------子类可以直接访问父类中非私有的成员变量与成员方法。
2.格式:通过extends 关键字让类与类之间产生继承关系
----- class 子类名 extends父类名 {}  
有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。
3.继承的好处
A:提高了代码的复用性
-----多个类相同的成员可以放到同一个类中
B:提高了代码的维护性
-----如果功能的代码需要修改,修改一处即可
C:让类与类之间产生了关系,是多态的前提
-----其实这也是继承的一个弊端:类的耦合性很强
4.Java中继承的特点
A. java只支持单继承不支持多继承。
例:----正确的:class SubDemo extends Demo{}
----错误的:class SubDemo extends Demo1,Demo2
B. java支持多层继承。
例:class A{}
class B extends A{}
class C extends B{}
C. 任何类都直接或者间接继承自Object类。
5. Java中继承的注意事项
A子类只能继承父类所有非私有的成员(成员方法和成员变量)
其实这也体现了继承的另一个弊端:打破了封装性
B子类不能继承父类的构造方法,但是可以通过super关键字去访问父类构造方法。
C不要为了部分功能而去继承,不要为了某个功能而去继承,需要满足”is a”的关系。






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