Java 面向对象笔记:接口、抽象类、多态与重写

整理了 Java 面向对象的一些考点,包括接口与抽象类的区别、接口实现规则、方法重写、多态机制等

一、接口 vs 抽象类(高频考点)

对比点接口(interface)抽象类(abstract class)
方法默认 public abstract可以有普通方法
变量public static final(常量)普通成员变量
构造方法没有
多继承可以实现多个接口只能继承一个类
关键字implementsextends

一句话记忆:

  • 接口:规范(全是规则)
  • 抽象类:半成品类(可以有实现)

二、接口实现规则(必考)

实现接口:

java
class A implements B {
    public 返回类型 方法名() {}
}

必须满足:

  1. 方法必须是 public
  2. 返回类型必须一致
  3. 必须实现全部方法(除非类是 abstract)

三、方法重写(Override)规则(高频)

项目要求
方法名必须相同
参数必须相同
返回值相同或子类
权限不能变小(可变大)

典型错误:

java
// 错(权限变小)
int f() {}

// 对
public int f() {}

四、多态(核心)

定义:

父类引用指向子类对象

java
Father f = new Son();

核心规则:

  1. 能调用什么方法 → 看左边(父类)
java
f.method(); // 必须是 Father 中定义的
  1. 实际执行谁 → 看右边(子类)

如果子类重写了方法,则执行子类版本

总结:

编译看左边,运行看右边


接口多态

java
Interface i = new Impl();

规则相同:

  • 只能调用接口中定义的方法
  • 执行实现类的方法

五、哪些属于多态(选择题)

项目是否多态
方法重载(overload)
方法重写(override)
父类引用指向子类对象
接口引用指向实现类对象
类中数据操作
继承本身

六、接口中的常见错误

错误写法:

java
public abstract static void cry(); // 错

原因:

  • abstract:没有方法体
  • static:必须有方法体

两者冲突,不能同时使用


七、最容易出错的点

错误1:抽象类的方法必须是抽象方法 → 错,可以有普通方法

错误2:父类引用可以调用子类所有方法 → 错,只能调用父类中声明的方法

错误3:接口方法可以随意定义 → 错,必须 public 且返回值一致


最终记忆要点

接口:

  • 方法默认 public abstract
  • 变量是常量(public static final)

实现接口:

  • 方法必须 public
  • 必须全部实现

多态:

  • 看左边决定能不能调用
  • 看右边决定执行结果

重写:

  • 方法名相同
  • 参数相同
  • 权限不能降低
微信
支付宝

感谢您的支持 ♥️

新故事即将发生
TEC-2008教学计算机完整知识汇总

评论区

评论加载中...