学习目标

  • 多态
    • 多态的前提
    • 多态的成员访问特点
    • 多态的优缺点
    • 多态的转型
  • 内部类
    • 成员内部类
    • 匿名内部类
  • 常用API
    • Object类
    • Objects类
    • Date类
    • SimpleDateFormat类
    • LocalDateTime类
    • Period & Duration
    • Math类 & System类

      1. 多态

同一个对象,在不同时刻表现出来的不同形态。
前提和提现

  1. 有继承/实现关系
  2. 有方法重写
  3. 有父类引用指向子类对象

    1.1 多态能解决什么问题 ?

    多态除了代码的复用性外,还可以解决项目中紧偶合的问题,提高程序的可扩展性。

    1.2 多态中成员访问特点 ?

  4. 成员变量 : 编译看左边(父类) , 执行看左边(父类)。只去查找父类的变量,父类中没有我们要调用的变量就会报错。

  5. 成员方法 : 编译看左边(父类) , 执行看右边(子类)。执行方法是,先执行子类重写的方法,如果子类没有重写,则动态的去父类查找(继承)。
  6. 构造方法 : 和继承一样 , 每个构造方法默认第一行都会有super() 去访问父类的无参构造。

    1. 3多态的优缺点 ?

    优点:提高代码的扩展性和灵活性;
    缺点:不能调用子类特有功能。
    备注(多态、接口):

  7. 方法的参数如果是一个类,那么调用此方法需要传入此类的对象或者此类的子类的对象;

  8. 方法的返回值类型是一个类,那么需要返回此类的对象或者此类的子类对象;
  9. 方法的参数如果是一个接口,那么调用此方法只能传入接口的实现类对象;
  10. 方法的返回值类型是一个接口,那么需要返回此类接口的实现类对象。

    1. 4多态的转型

    向上转型:把子类型的对象赋值给父类类型的数据(父类的引用指向子类的对象)。
    向下转型:把父类型的对象赋值给子类类型的数据,借助强转完成。

    2. 内部类

    2.1成员内部类和匿名内部类(属于局部内部类)

    匿名内部类:

  11. 无类名且只能使用一次;

  12. 必须有一个父或父类接口。

    3. API

    3.1 为什么要学习API,怎么快速学习一个Java提供好的类 ?

  13. API就是java语言中的方法,开发过程中,大部分的功能都可以通过调用API来完成,节省了代码量,提高了开发效率,而且一些java本身没有的功能,我们也可以通过调用一些别人封装好的API来实现。

  14. API手册里面包含了java里面所有方法的介绍,里面包含了对方法的详细介绍,里面有方法的构造方法,方法摘要,特殊字段摘要,对每个方法的详解,有固定的格式。

    3.2常用API

    | 方法 | 作用 | 返回值类型 | | —- | —- | —- | | toString() | 返回该对象的字符串表示 | String | | equals() | 指示其他某个对象是否于此对象”相等” | boolea |

3.3SimpleDateFormat类(常用API)

  1. 作用:格式化时间日期。
  2. format()方法:将日期类型转换为自己自定义的字符串格式; | 格式 | 释义 | 举例 | | —- | —- | —- | | yyyy | 年 | 2019 | | MM | 月 | 02 | | dd | 日 | 18 | | HH | 小时(24小时制) | 13,下午一点 | | mm | 分钟 | 53 | | ss | 秒 | 42 | | SSS | 毫秒 | 629 |

  3. 使用parse()方法将字符串转换为日期

  • 举例:2022-07-10 17:10:00 → yyyy-MM-dd HH:mm:ss

    3. 当日问题小结

    3.1 当日遇到的问题

    错误.png

    3.2 出现问题原因

    日期的定义格式和输出格式不一致。

    3.3 解决问题方案

    统一定义格式和输出格式。