Java:封装与继承

  • 封装
    • 对象代表什么,就得封装对应的数据,并提供数据对应的行为
  • 继承
    • Java:封装与继承_第1张图片

    • Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起继承关系。
    • Student称为子类(派生类),Person称为父类(基类或超类)。
  • 使用继承的好处
    • 可以把多个子类中重复的代码抽取到父类中了,提高代码的复用性。
    • 子类可以在父类的基础上,增加其他的功能,使子类更强大。
  • 什么时候用继承?
    • 当类与类之间,存在相同(共性)的内容,并满足子类是父类中的一种,就可以考虑使用继承,来优化代码
  • 子类到底能继承父类中的哪些内容?
    • Java:封装与继承_第2张图片

    • 成员方法是否可以被继承
      • Java:封装与继承_第3张图片

  • 继承的特性
    • 子类拥有父类非 private 的属性、方法。

    • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

    • 子类可以用自己的方式实现父类的方法。

    • Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类。

    • 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)

  • implements关键字

    使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

  • super 与 this 关键字

    super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

    this关键字:指向自己的引用。

  • final 关键字

    final 可以用来修饰变量(包括类属性、对象属性、局部变量和形参)、方法(包括类方法和对象方法)和类。

    final 含义为 "最终的"。

    使用 final 关键字声明类,就是把类定义定义为最终类,不能被继承,或者用于修饰方法,该方法不能被子类重写。

  • 构造器

    子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。

    如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。

你可能感兴趣的:(Java基础,java,开发语言,jvm)