• 封装
      • 封装概念
        • 将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
      • 封装步骤
        • 修改属性的可见性,限制访问。将属性的访问修饰符修改为private(私有的)
        • 提供对应的public(公开的)getter(只读)或setter(只写)访问器
        • 在setter写入器中添加对属性(读取)写入的控制
      • 封装好处 
        • 类的成员变量可以成为只读或者只写的。
        • 类可以对储存在其中的成员变量中的内容有一个整体的控制。
        • 类的用户不需要知道类是如何储存数据的。
        • 提高代码安全性,增加重用性
    • 继承
      • 继承概念
        • 继承是指一个类从另一个类中获取方法和属性的过程,Java继承为单继承,代码重用的重要手段,符合子类is a父类的关系;
      • 继承的优点
        • 方便修改代码,减少代码量,实现代码的复用,增加代码重用性以及程序的健壮性(可维护性)
      • 初始化顺序
        • 父类属性-父类构造方法-子类属性-子类构造方
      • 继承初始化
        • 修饰符 SubClass extends SuperClass{}
        • 继承通过extends关键字来实现
      • 父子类构造函数注意事项
        • 在构造方法中如果有this或super语句出现,只能是第一条语句
        • 在一个构造方法中不允许同时出现this和super语句调用构造方法
        • 在类方法中不允许出现this或super关键字
        • 在实例方法中,this和super语句不要求是第一句,可以共存
    • 多态
      • 多态概念
        • 同一个引用类型,使用不同的实例而执行不同操作,多态是具有表现多种形态的能力的特征,同一个实现接口,使用不同的实例而执行不同的操作
      • 实现多态
        • 使用父类<接口>作为方法形参实现多态
        • 使用父类作为方法返回值实现多态
      • 多态的好处
        • 可以减少类的代码量,提高代码的可扩展性和可维护性
      • 子类转换成父类时的规则
        • 将一个父类的引用指向一个子类对象,称为向上转型,自动进行类型转换
        • 此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
        • 此时通过父类引用变量无法调用子类特有的方法
      • 父类到子类的转换
        • 将一个指向子类对象的父类引用赋给一个子类的引用(instanceof关键字),称为向下转型
    • 重载
      • 调用同一个方法,实现不同操作
      • 特点
        • 在同一类中
        • 方法名相同
        • 参数列表不同(参数个数,参数类型)
        • 与返回值类型或访问修饰符无关
    • 重写
      • 在子类中可以根据需求对从父类继承的方法进行重新编写,称为方法的重写或方法的覆盖(overriding)
      • 特点
        • 方法名相同
        • 参数列表相同
        • 返回值类型相同或是其子类
        • 重写方法不能缩小被重写方法的访问权限
    • 构造方法
      • 声明
        • <访问修饰符> 方法名(与类名相同) (参数列表) {方法主体}
      • 构造方法是在创建对象的同时执行的操作,一般用于属性赋值
      • 特点
        • 构造方法没有返回值类型
        • 方法名与类名相同
        • 在没有构造方法的情况下,系统会自动生成一个无参的构造方法
        • 当自己声明了构造函数,系统将不会自动生成构造函数
      • 继承条件下构造方法的调用规则
           1>如果子类的构造方法中没有显式调用父类的有参构造方法,也没有显式调用自身的其他构造方法,则会默认先调用父类的无参构造方法
        • 2>​如果子类的构造方法中通过super显式调用父类的有参构造方法,则将执行父类相应的构造方法
        • 3>​如果子类的构造方法中通过this显式调用自身的其他构造方法,则在相应构造方法中应用以上两条规则
        • 4>​如果存在多继承关系,则在创建一个子类对象时,以上规则会向更高一级的父类应用,一直执行顶级父类object类的无参构造方法为止​
    • 接口
      • 语法
        • [修饰符] interface 接口名 extends 父接口1,父接口2
        • class 类名 extends 父类名 implements 接口1,接口2
      • 接口可以继承(extends)接口,但不能实现接口
      • 接口代表一种能力,具有"has a"的关系
      • 接口可以看做是一种特殊的抽象类
      • 好处
        • 抽象类利于代码复用,接口利于代码的扩展和维护
        • 降低代码间的"耦合性"
      • 接口的特性
        • 接口的属性是全局静态常量,方法都是全局抽象方法,没有构造方法
        • 一个类可以实现多个接口,如果此类不为抽象类,必须实现接口的所有方法
        • 接口体现了约定和实现相分离的原则
posted on 2019-03-12 07:49  baiUait  阅读(100)  评论(0)    收藏  举报