<p>IntelliJ IDEA 中用 Ctrl+H 调出 Type Hierarchy 可查看类的完整继承链,切换 Supertype Hierarchy 查父类,Subtype Hierarchy 查子类;通过 SDK 或自定义 lib:java..* Scope 精准筛选 JDK 类;支持按名排序、关键词搜索、跳转源码及导出树形文本。</p>

要在 IntelliJ IDEA 中快速理清某个 Java 类的完整继承脉络,比如搞懂 ArrayList 到底继承了哪些类、实现了哪些接口、又被哪些子类扩展,就必须用对 Type Hierarchy 功能——它不是简单列出父类子类,而是以可展开/折叠的树形结构呈现真实继承链。
打开类型层级窗口
在编辑器中将光标定位到目标类名上(例如 ArrayList),按 Ctrl+H;或者右键该类名 → 选择 Browse Type Hierarchy。
窗口默认以“Subtype Hierarchy”(子类型层级)模式展开,即显示当前类的所有直接和间接子类。若想看父类链路,点击顶部工具栏第一个图标 Supertype Hierarchy 即可切换。
精准筛选只看 JDK 核心类
方法一:使用预设 Scope
在 Type Hierarchy 窗口顶部的 Scope 下拉框中,选择 Project Production 或 SDK,即可过滤掉测试代码和第三方依赖,只保留项目源码与 JDK 类。
方法二:自定义 Scope Pattern(推荐)
点击 Scope 下拉框 → Edit Scopes → 点击左上角 “+” → 选择 Local → 命名为 “JDK Only” → 在 Pattern 输入框中填入:lib:java..* → 勾选 Include Recursively → 点击 Apply。
这一步必须做对,lib:java..* 中的 lib: 表示匹配标准库(而非项目源码),..* 才能递归包含 java.util、java.io 等所有子包;漏掉 lib: 会导致匹配失败,Scope 形同虚设。
高效浏览与定位子类
第一步:点击窗口右上角的 Sort by Name 图标(字母 A-Z 图标),让所有子类按类名首字母升序排列。
第二步:在窗口顶部的搜索框中直接输入关键词,比如 “Array”,IDEA 会实时高亮并仅显示匹配节点及其父路径,无需手动逐层展开。
第三步:右键任意子类节点 → 选择 Jump to Source,立刻跳转到该子类定义处;若该子类在外部库中,会自动反编译并展示字节码对应源码。
注意:展开全部节点前先确认是否真有必要——大型类如 Object 展开后可能生成上千个节点,卡顿明显,建议用搜索+局部展开代替全量展开。
导出层级关系留档
点击 Type Hierarchy 窗口右上角的 Export to File 图标(向下箭头)。
选择保存路径,文件名建议带日期和类名,例如 ArrayList_hierarchy_20260812.txt。
导出格式为纯文本树形结构,缩进表示层级深度,可直接粘贴进笔记或分享给同事。


















