在 IntelliJ IDEA 中,快速查找所有重写某个方法的子类,应将光标置于父类或接口的方法声明处,按 Alt+F7 调用 Find Usages 并勾选 “Include overrides”,结果即显示全部 @Override 实现。

在 IntelliJ IDEA 中,快速查找所有重写某个方法的子类(即该方法的所有 override 实现),最直接高效的方式是使用内置的 “Find Usages” 功能,并配合正确的调用上下文。
1. 确保光标定位在父类/接口中的目标方法上
这是关键前提:必须将光标放在被重写的原始方法声明处(例如抽象类里的 abstract 方法,或父类中被 @Override 标记的方法定义),而不是子类中重写的那个方法体里。
- 如果光标在子类的 @Override 方法上,IDEA 默认查的是“该方法被谁调用”,不是“谁重写了它”
- 如果方法来自接口,同样要定位到接口中的方法声明行
2. 使用快捷键触发“查找所有重写”
在方法声明处按下:
- Windows/Linux: Ctrl + Alt + Shift + H
- macOS: Cmd + Option + Shift + H
这个快捷键会打开 “Type Hierarchy” 面板,默认显示当前类的继承结构。但注意:它展示的是类层级关系,不是方法重写列表。真正要找“谁重写了这个方法”,应使用:
立即学习“Java免费学习笔记(深入)”;
3. 正确操作:用 “Find Usages” 并筛选 override
更精准的做法是:
- 将光标停在父类方法声明上(如
public void doWork()) - 右键 → Find Usages(或按 Alt + F7)
- 在弹出的窗口左下角,勾选 “Include overrides”(IDEA 2022.3+ 默认已勾选;旧版本需手动开启)
- 点击 OK,结果列表中就会包含所有子类中
@Override的实现
你还可以在结果窗口顶部点击 “Group by package” 或 “Group by type” 来更好组织查看。
4. 补充技巧:快速跳转到某个重写处
在 Find Usages 结果列表中,双击任意一项即可直接跳转到对应子类中的重写方法。如果想只看重写、不看调用,可在搜索结果过滤栏输入 override(部分版本支持),或结合 “Show only overrides” 按钮(在结果面板右上角,图标为两个重叠的方块)。


















