04-面向对象


面向对象

面向对象思想:

  • 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
  • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!

宏观上,面向对象,微观上,面向过程

什么是面向对象

本质:一类的方式组织代码,以对象的组织(封装)数据。

抽象

三大特性:

  • 封装
  • 继承
  • 多态

类与对象关系

类是一种抽象的数据类型

对象是抽象概念的具体实例

封装

该露的露,该藏的藏

  • 高内聚,低耦合

继承

继承是对某一批类的抽象

在java中所有类都继承object

子类继承父类,会拥有父类的方法,私有无法继承

super调用父类的方法和属性,除非私有;

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

super必须只能出现在子类的方法或者构造方法中

super和this不能同时调用构造方法

super和this不同:

​ 代表对象不同:

​ this:本身调用者这个对象

​ super:代表父类对象的应用

​ 前提

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

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

​ 构造方法:

​ this();本身的构造方法

​ super();父类的构造方法

方法的重写

重写:需要有继承关系,子类重写父类的方法

        1. 方法名必须相同
        2. 参数列表:范围可以扩大但不能缩小
        3. 修饰符:范围可以扩大但不能缩小:public ->Protected->Default->Private
        4. 跑出的异常:范围,可以被缩小,但不能扩大: ClassNotFoundException -->Exception(大)

重写:子类的方法要和父类必要一致:方法体不同!

为什么需要重写:

  1. 父类功能,子类不一等需要。或不一定满足

多态

注意事项:

  1. 多态是方法的多态,属性没有多态

  2. 父类和子类,有联系,类型转换异常!ClassCastException!

  3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象!

  4. 无法被重写:static 方法 ,属于类 ,他不属于示例

    fianl 常量

    private方法

抽象类

接口

  1. 只有规范,自己无法写方法,专业的约束,约束和实现分离:面向接口编程
  2. 接口的本质是契约

作用:

  1. 约束

  2. 定义一些党发,让不同的人实现

  3. 方法都是public abstract

  4. 属性都是public static final

  5. 接口不能被实例化,接口中没有构造方法

  6. implements可以实现多个接口

  7. 必须要重写接口中的方法

内部类

成员内部类

静态内部类

局部内部类

匿名内部类

异常

程序出错。

程序运行中出现预期之外的错误!

异常体系结构

Error和Exception的区别

Error通常是灾难性的致命的错误,是程序无法控制和处理的

Exception通常情况下是可以被程序处理,并且在程序中应该尽可能的去处理这些异常

异常处理机制

抛出异常

捕获异常

异常处理五个关键字:

try catch finally throw throws

自定义异常

用户自定义异常类,只需要继承Exception类即可


文章作者: 半页
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 半页 !
评论
  目录