面向对象的三大特征 封装 继承 多态

封装:
高内聚,低耦合
高内聚:类的内部数据操作细节自己已完成,不允许外部干涉;
低耦合:仅暴漏少量的方法给外部使用;
通常应禁止直接访问一个对象中的数据的实际展示,而应通过设定的接口来访问,这称为信息隐匿
封装的好处:
1.封装之后看不到事物复杂的那一面,之表露简单的一面
2.封装之后才会形成真正的“对象”,真正的独立体
3.封装就意味着以后的程序可以重复使用并且这个事物适应性比较强,在任何场合都能使用
4.封装之后,对事物本身,提高了安全性【安全级别高】

继承:

  1. 继承基本作用时:代码复用。但是继承最重要的作用时:有了继承才有了以后的方法覆盖和堕胎机制;

  2. 继承语法格式:

​ 修饰符 class 类名 extends 父类名 {

​ 类体 = 属性 + 方法

​ }

  1. B类继承A类,其中

​ A类称为父类,基类,超类,superclass

​ B类称为:子类,派生类,subclass

  1. java 子类继承父类都继承哪些数据:
  • 私有的不支持继承
  • 构造方法不支持继承
  • 其他数据都可以继承
  1. 虽然Java语言只支持单继承,但是一个类也可以间接继承其他类,例如

​ C extends B{

}

​ B extends A{

}

​ A extends T{

}

​ C直接继承B类,但是C类间接继承T A类。

  1. java语言中假设一个类没有显示的继承任何类;该类默认继承JavaSE库当中提供的java.lang.Object类。

方法覆盖

  1. 方法覆盖又被称为方法重写,英语单词:override/overwrite

  2. 什么时候使用方法重写?

    • 当父类中的方法已经无法满足当前子类的业务需求

      子类有必要将父类中继承过来的方法进行重新编写,

      这个重新编写的过程称为方法的重写/方法覆盖

  3. 什么条件满足之后形成方法重写?

    • 方法重写发生在既有继承关系的父子类之间
    • 返回值类型相同,方法名相同,形参列表相同
    • 访问权限不能更低,只能更高
    • 抛出异常不能更多只能更少。

super关键字

  1. super调用父类构造方法,必须在构造方法的第一个

  2. super只能出现在子类的方法或者构造方法的第一个

  3. super和this不能同时调用!

  4. 和this的区别:

  5. this:本身调用这个对象

    super:代表父类对象的应用

    前提

    ​ this:没有继承也可以使用

    ​ super只能在继承条件才可以使用

    构造方法

    ​ this:本类构造

    ​ super:父类的构造 1. 继承基本作用时:代码复用。但是继承最重要的作用时:有了继承才有了以后的方法覆盖和堕胎机制;

  6. 继承语法格式:

​ 修饰符 class 类名 extends 父类名 {

​ 类体 = 属性 + 方法

​ }

  1. B类继承A类,其中

​ A类称为父类,基类,超类,superclass

​ B类称为:子类,派生类,subclass

  1. java 子类继承父类都继承哪些数据:
  • 私有的不支持继承
  • 构造方法不支持继承
  • 其他数据都可以继承
  1. 虽然Java语言只支持单继承,但是一个类也可以间接继承其他类,例如

​ C extends B{

}

​ B extends A{

}

​ A extends T{

}

​ C直接继承B类,但是C类间接继承T A类。

  1. java语言中假设一个类没有显示的继承任何类;该类默认继承JavaSE库当中提供的java.lang.Object类。

方法覆盖

  1. 方法覆盖又被称为方法重写,英语单词:override/overwrite

  2. 什么时候使用方法重写?

    • 当父类中的方法已经无法满足当前子类的业务需求

      子类有必要将父类中继承过来的方法进行重新编写,

      这个重新编写的过程称为方法的重写/方法覆盖

  3. 什么条件满足之后形成方法重写?

    • 方法重写发生在既有继承关系的父子类之间
    • 返回值类型相同,方法名相同,形参列表相同
    • 访问权限不能更低,只能更高
    • 抛出异常不能更多只能更少。

super关键字

  1. super调用父类构造方法,必须在构造方法的第一个

  2. super只能出现在子类的方法或者构造方法的第一个

  3. super和this不能同时调用!

  4. 和this的区别:

  5. this:本身调用这个对象

    super:代表父类对象的应用

    前提

    ​ this:没有继承也可以使用

    ​ super只能在继承条件才可以使用

    构造方法

    ​ this:本类构造

    ​ super:父类的构造

多态:# 多态

  1. 多态的概念:无论是向上转型还是向下转型两种类型就必须有继承关系

    • 向上转型(upcasting)
      • 子类向父类转型
        • 自动类型转换
    • 向下转型(downcasting)
      • 父类向子类转型(需要强制类型转换符)
        • 强制类型转换
  2. 什么时候使用:

    • 当调用的方法或者访问的属性是子类型中特有的,在父类型当中不存在不许进行向下转型
  3. 类型转换异常

    • java.lang.ClassCasException(在强制类型转换时会发生)
  4. 如何避免

    1. 使用instanceof运算符可以避免出现类型转换异常

      • 如何使用

        • 语法格式

          引用 instanceof 数据类型名

        • 以上运算符执行结果类型时布尔值类型,结果可能是true/false

        • 关于运算结果true/false:

          假设:(a instanceof Animal)

          true表示

          ​ a这个引用指向对象是一个Animal类型。

          false表示:

          ​ a这个运用指向的的对象不是一个Animal类型。

posted @ 2021-12-27 18:08  赎梦  阅读(73)  评论(0)    收藏  举报