一.面向对象的特征:继承性

  1. 好处
    ①.减少了代码的冗余,提高了代码的复用性
    ②.更好的扩展性
    ③.为多态性的使用提供了前提

  2. 为什么要有继承
    多个类中存在相同属性或行为时,将这些内容抽取到一个单独类中,那么多个类无需在定义这些属性和行为,只要继承那个类即可。
    ①.多个类称为子类,单独的这个类称为父类(基类或超类)
    子类 is a 父类
    ②.类继承语法规则
    class Subclass extends Superclass{ }
    ③.作用
    继承的出现提高了代码的复用性
    继承的出现让类与类之间产生了关系,提供了多态的前提
    不要仅为了获取其他类中某个功能而去继承

  3. 类的继承
    ①.被继承的类叫超类superclass,继承超类的类叫子类subclass
    ②.创建类
    [abstract final] class SubCls extends SubCls{
    SubClsBody
    }
    ③.子类中可以访问超类继承下来的三种访问权限设定的成员
    .public;.protected;.缺省
    同一个包含只有pivate不能继承,不同包内public和protected修饰符可以被继承

  4. 类Person成员
    成员变量:name、sex、birthfay
    成员方法:setData(String、char、Data)

  5. 类Student成员
    成员变量:name、sex、birthday、stulD、specialty
    成员方法:setData(String、char、Data、String、String)

  6. 单继承举例
    ①.继承:用已有类派生新类的过程;父类超过子类
    ②.代码复用:继承父类成员,子类可以扩展自己的成员

二.Super关键字

  1. 指定操作
    ①.用于访问 父类中定义的属性
    ②.用于调用父类中定义的成员方法
    ③.用于在子类构造器中调用父类的构造器

  2. 当子父类出现同名成员时,可以用Super区分,追溯不仅限于直接父类

三.调用父类的构造器

  1. 子类中所有的构造器默认都会访问父类中空参数的构造器
  2. 当父类中没有空参数的构造器时,子类的构造器必须通过this或super语句指定调用本类或父类中相应的构造器,且必须放首行
  3. 如果子类构造器中即未显示调用父类或本类的构造器,且父类中又没有无参的构造器,则编译错误
  4. this和super的区别
    Java面向对象2

四.其他关系

  1. 依赖关系
    在一个类的方法中操作另一个对象,则称其依赖于第二个类

  2. 关联关系
    一个类中使用另一个类的对象作为该类的成员变量

  3. 聚合关系
    一个类(整体)由多个其他类的对象(部分)作为该类的成员变量,整体与部分之间时可以分离的,都可以具有各自的生命周期

  4. 组成关系
    比聚合关系要求更高的一种关系,但在组成关系中整体与部分是不可分离的

相关文章: