面向对象

面向对象(oop)

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的形式(封装)数据
  • 面向对象的三大特性:封装、继承、多态。

构造器

  • 一个类即使什么都不写,它也会存在一个方法。
  • 使用new关键字,本质就是在调用构造器
  • 一旦定义了有参构造,无参就必须显示定义

封装

  • 高内聚,低耦合。
  • 属性私有,get\set。
封装的意义
1. 提高程序的安全性,保护数据
2. 隐藏代码的实现细节
3. 统一接口
4. 系统可维护性增加了

继承

  • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
  • 继承关系的两个类,一个为子类,一个为父类。子类继承父类,使用关键字extends来表示。
  • 子类和父类之间,从意义上讲应该具有“ is a”的关系
super注意点:
1. super调用父类的构造方法,必须在构造方法的第一个!
2. super必须只能出现在子类的方法或者构造方法中!
3. super和this不能同时调用构造方法!

Vs this:

1. 代表的对象不同:
  	1. this:本身调用者这个对象
  	2. super:代表父类对象的应用
2. 前提
	1. this:没有继承也可以使用
	2. super:只能在继承条件下才可以使用
3. 构造方法
	1. this();本类的构造
	2. super();父类的构造
非静态方法和静态方法的区别
  1. 静态方法:方法的调用之和左边。定义的数据类型有关。
  2. 非静态:重写
重写

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

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大但不能缩小。
  4. 跑出的异常:范围,可以被缩小,但不能被扩大。
多态注意事项:
  1. 多态是方法的多态,属性没有多态。

  2. 父类和子类,有联系

  3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new son();

    不能被重写的方法:

    1. static方法,属于类,不属于实例。
    2. final 常量。
    3. private 方法。
static
  1. 新建类中代码加载顺序
    1. 静态代码块(仅在创建对象时执行一次)
    2. 匿名代码块
    3. 构造方法
接口
  1. 接口的本质就是一些约束。
  2. 定义一些方法。让不同的人实现。
  3. 接口的定义 public abstract
  4. 定义常量 public static final
  5. implements 可以实现多个接口
  6. 使用接口必须要重写接口中的方法。
posted @ 2020-11-03 18:17  博客不放弃  阅读(64)  评论(0)    收藏  举报