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

© 0825梁磊 中级黑马   /  2015-9-10 13:05  /  343 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

继承☆   
       (1)多个类中存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需在定义这些属性和行为,只要继承那个类即可。
       (2)用关键字extends表示,格式如下:
                     class子类名 extends 父类名 {}
   单独的这个类叫父类,基类或者超类;这多个类可以称为子类或者派生类
       (3)继承的好处:
              A:提高了代码的复用性
              B:提高了代码的维护性
              C:让类与类产生了一个关系,是多态的前提(其实这也是弊端,类的耦合性很强)
       (4)继承的弊端:
              A:让类的耦合性增强。这样某个类的改变,就会影响其他和该类相关的类。
                     开发的原则:低耦合,高内聚。
                     耦合:类与类的关系
                     内聚:自己完成某件事情的能力
              B:打破了封装性
       (5)Java中继承的特点
              A:Java中类只支持单继承,不支持多继承
有些语言是支持多继承的,格式:extends 类1,类2....
              B:Java中可以多层继承(儿子--父亲--爷爷)
       (6)继承的注意事项:
              A:子类只能继承父类的非私有成员(方法和变量)
              B:子类不能继承父类的构造方法,但是可以通过super去访问
              C:不要为了部分功能而去继承
       (7)什么时候使用继承呢?
              A:继承体现的是:is a的关系。
person
student
teacher
水果
香蕉
苹果
              B:采用假设法
如果有两个类A、B,只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承
Java继承中的成员关系
       A:成员变量
              当子类的成员变量名称和父类中的成员变量名称一样时,类的方法访问变量的查找顺序如下:
              在子类方法的局部范围找,有就使用。
              在子类的成员范围找,有就使用。
              在父类的成员范围找,有就使用。
              找不到,就报错。
       B:构造方法
              子类中所有的构造方法默认会去访问父类的无参构造方法
为什么呢?
                            因为子类会继承父类中的数据,可能还会使用父类的数据,所以,子类在                            初始化之前,一定要先完成父类数据的初始化。
注意:
子类的每一个构造方法的第一条语句默认都是:super()
super()代表访问父类的无参构造方法
              父类中如果没有无参构造方法会出现什么现象呢?如何解决呢?
报错。
如何解决呢?
                                   (1)在父类中加一个无参构造方法
(2)子类通过super去明确访问父类的带参构造方法
                                   (3)子类通过this调用本身的其他构造
注意:
this(...)和super(...)一定要出现第一句语句上,如果不是放在第一句,就可能对父类的数据进行了多次初始化,所以必须放在第一句
              子类中一定要有一个去访问父类的构造,不管是有参的还是无参的构造,这样就能完成父类数据的初始化
C:成员方法
当子类的成员方法名称和父类中的成员方法名称一样时,类访问方法的查找顺序:
              在子类中找,有就使用。
              在父类中找,有就使用。   
              找不到,就报错。
初始化
A:一个类的初始化过程
成员变量初始化
默认初始化
显示初始化
构造方法初始化
B:子父类的初始化过程(分层初始化)
先进行父类初始化,再进行子类初始化
super()仅仅代表先初始化父类,而不存在什么方法内外的问题,等父类初始化完了之后,在从头到尾去初始化子类

您需要登录后才可以回帖 登录 | 加入黑马