惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
小众软件
小众软件
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)
博客园_首页
N
Netflix TechBlog - Medium
IT之家
IT之家
H
Help Net Security
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
罗磊的独立博客
T
Tailwind CSS Blog
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
V
V2EX
量子位
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
博客园 - 司徒正美
The Cloudflare Blog
Engineering at Meta
Engineering at Meta

敖苛记

敖苛记 敖苛记 甜甜圈的数学:donut.c 是如何工作的 | 敖苛记 如何让 AI Agent 工具帮助你清理 C 盘,让 C 盘不再报红? | 敖苛记 如何安装 Claude Code 并用 cc-switch 配置国内大模型 | 敖苛记 如何在 Windows 安装 Git | 敖苛记 如何安装 Windows 的包管理器 scoop 并配置国内镜像 | 敖苛记 给 Deepseek 发 <think> 之后,它就串台了? | 敖苛记 如何处理 PowerShell 中文乱码问题 | 敖苛记 敖苛记 如何使用 ollama 和 open-webui 搭建自己的本地 AI 助手 | 敖苛记 如何使用 archinstall 安装 Arch Linux | 敖苛记 如何使用 Ventoy 制作一个便捷的 Arch Linux to go | 敖苛记
敖苛记
敖苛, i@kayro.cn · 2026-04-24 · via 敖苛记

整理了 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
  • 必须全部实现

多态:

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

重写:

  • 方法名相同
  • 参数相同
  • 权限不能降低