day08

类与对象小结

  • 类与对象

    • 类是一个模板:抽象
    • 对象是一个实例:具体
  • 方法:定义和调用

  • 对象的引用

    • 引用类型:八大基本类型
    • 对象是用过引用来操作的 :栈===>堆
  • 属性:字段field 成员变量

    • 默认初始化:

      • 数字: 0、0.0
      • char: u0000
      • boolean:false
      • 引用: null

      修饰符 + 属性类型 + 属性名 = 属性值

  • 对象的创建和使用

    • 必须使用new关键字来创造对象,构造器
    • 对象的属性
    • 对象的方法
    • 静态的属性(属性)
    • 动态的行为(方法)

Java三大特性

封装、继承、多态

封装

  • 程序要求高内聚低耦合:高内聚是指类的内部数据操作细节自己完成,不允许外部干涉,低耦合是指仅暴露少量的方法给外部使用
  • 封装(数据的隐藏)
    • 通常应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,称为信息隐藏
  • 要点:属性私有,get/set
  • 意义
    • 提高程序安全性
    • 隐藏代码的实现细节
    • 统一接口
    • 增加系统可维护性

继承

  • 继承本质是对某一批类的抽象,从而实现对现实世界更好的建模
  • extends的意思是“扩展”。子类是父类的扩展
  • JAVA中类只有单继承,没有多继承
  • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等
  • 继承关系的两个类,一个为子类(派生类)一个为父类(基类),子类继承父类,使用关键字extends来表示
  • 子类和父类之间从意义上具有“is a”的关系
  • 子类继承了父类,则子类会具有父类的全部方法(修饰符为public
  • Ctrl+H 查看类的关系
  • object类 所有类都直接或间接继承object类
  • super
    • 在调用子类构造器是会先调用父类构造器,而此类操作的代码是隐藏的,同调用无参构造器一样
    • super调用父类数据方法,必须在子类构造器的第一行(this也一样)
    • 注意点:
      • 调用父类构造方法且在构造方法的第一个
      • super必须只能出现在子类的方法或者构造方法中
      • super和this不能同时调用构造方法
      • 与this对比:
        • 代表的对象不同:
          • this:本身调用者的对象
          • super:代表父类对象的引用
        • 前提
          • this:没有继承也可以使用
          • super:只能在继承条件下才可以使用
        • 构造方法
          • this(); 本类的构造
          • super(); 父类的构造
  • 方法重写
    • 重写都是方法的重写,与属性无关
    • 静态方法和非静态方法区别很大
      • 非静态:重写
      • 重写修饰词需为public
    • 总结:
      • 需要有继承关系:子类重写父类的方法
        • 方法名必须相同
        • 参数列表必须相同
        • 修饰符:范围可以扩大但不能缩小:public>Protected>Default>private (父类小,子类大)
        • 抛出的异常:范围可以被缩小但不能扩大
      • 子类方法和父类必须要一致,方法体不同
      • 为什么要重写
        • 父类功能子类不一定需要,或不一定满足
        • alt+insert: override
posted @ 2020-05-03 22:27  Keepforward  阅读(116)  评论(0)    收藏  举报