java基础知识点(三)

本文从需求出发,讨论如何设计类

设计类方法

  • 抽共性:将派生类共有属性和行为,抽象到超类中
  • 如果派生类某个行为都一样,设计成普通方法;如果行为不一样,设计成抽象方法
  • 如果派生类部分类某个行为共有,则把这个行为抽象到接口中(即接口对单一继承局限性的拓展)

抽象类(abstract)

  • 抽象方法:没有方法体,表现为abstract修饰的一个函数声明。包含抽象方法的类必须为抽象类。
  • 由abstract 关键字修饰
  • 抽象类是不完整的,因此不能被实例化对象
  • 抽象类需要被继承,派生类如果有实例化要求,需重写所有抽象方法(起了接口规范的作用)。

内部类:常用的匿名内部类,优点:代码编写方便。使用场景:监听程序、线程代码、时间驱动。

接口:

  • 是一种数据类型,由interface定义
  • 只能包含常量(static final )和抽象方法
  • 不能被实例化
  • 需要被实现类实现
  • 接口权限默认public
  • 实现类要实现接口里的所有抽象方法
  • 一个类可以实现多个接口,用逗号分隔。同时有继承和实现时,先继承后实现。

多态:

  • 行为多态:一个类型的引用在指向不同的对象时有不同的实现。(引用执行的方法体由对象本身决定)
  • 对象多态:同一个对象,造型成不同类型时有不同功能。(引用能调用的方法名由造型的类型决定)
  • 强制类型转换成功条件:1)引用指向的对象实际是该类型。2)引用的对象实现了该类的方法
  • 一般在强转之前先通过instanceof 来判断对象类型
posted @ 2022-04-23 09:16  王二哈!  阅读(17)  评论(0编辑  收藏  举报