抽象类和抽象方法 接口 以及多态

抽象类和抽象方法:

  1. 抽象类(abstract class):

    • 用于表示不完整的类,不能被实例化。
    • 可以包含普通的成员变量和成员方法,也可以包含抽象方法。
    • 抽象方法是没有具体实现的方法,用 abstract 关键字修饰。
  2. 抽象方法(abstract method):

    • 用于表示不完整的方法,只有声明,没有实现。
    • 只能存在于抽象类中,用 abstract 关键字修饰。
    • 子类必须实现抽象类中的所有抽象方法。
  3. 抽象类的特点:

    • 抽象类中可以有普通方法,也可以没有抽象方法。
    • 抽象类不能被实例化,但可以被子类继承。

接口:

  1. 接口(interface):

    • 用于定义一组抽象方法的集合,不包含实例变量。
    • 接口中的方法默认是抽象的,不需要使用 abstract 关键字。
    • 可以包含常量,常量使用 public static final 修饰。
  2. 默认方法(default method):

    • JDK 8引入,默认方法允许在接口中定义具有默认实现的方法。
    • 使用 default 关键字修饰。
  3. 静态方法(static method):

    • JDK 8引入,允许在接口中定义静态方法。
    • 使用 static 关键字修饰。
  4. 接口的特点:

    • 一个类可以实现多个接口。
    • 接口之间可以存在多继承关系。
    • 接口提供了一种实现多继承的机制。

多态:

  1. 多态:

    • 同一个类的同一个方法在不同的对象上产生不同的行为。
    • 通过父类的引用指向子类的对象,实现多态。
    • 运行时动态绑定。
  2. 向上转型:

    • 将子类的实例赋值给父类的引用。
    • 父类引用可以调用子类重写的方法。
  3. 向下转型:

    • 将父类的引用转换为子类的引用。
    • 需要使用强制类型转换。
    • 需要在转换之前使用 instanceof 判断类型。
  4. instanceof 运算符:

      • 用于判断对象是否属于某个类或实现了某个接口。
      • 返回 truefalse
     
posted @   Cyptals  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示