使用IntelliJ IDEA查看类的继承关系图形(图文详解)

最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。

这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。

1、查看图形形式的继承链

在你想查看的类的标签页内,点击 右键,选择 Diagrams ,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示:

实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的:

然后你就会得到如下图所示的继承关系图形,以自定义的Servlet为例:

显而易见的是:

蓝色实线箭头是指继承关系

绿色虚线箭头是指接口实现关系

2、优化继承链图形,想我所想

2.1 去掉不关心的类

得到的继承关系图形,有些并不是我们想去了解的,比如上图的Object和Serializable,我们只想关心Servlet重要的那几个继承关系,怎么办?

简单,删掉。 点击选择你想要删除的类,然后直接使用键盘上的delete键 就行了。清理其他类的关系后图形如下:

2.2 展示类的详细信息

有人说,诶,这怎么够呢,那继承下来的那些方法我也想看啊?简单,IDEA通通满足你。

页面点击右键,选择 show categories ,根据需要可以展开类中的属性、方法、构造方法等等。当然,第二种方法 也可以直接使用上面的工具栏

然后你就会得到:

什么,方法里你还想筛选,比如说想看protected权限及以上范围的?简单,右键选择 Change Visibility Level,根据需要调整即可。

什么,你嫌图形太小你看不清楚?IDEA也可以满足你,按住键盘的Alt,竟然出现了放大镜,惊不惊喜,意不意外?

2.3 加入其他类到关系中来

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。

页面点击右键,选择 Add Class to Diagram ,然后输入你想加入的类就可以了:

例如我们添加了一个Student类,如下图所示。好吧,并没有任何箭头,看来它和当前这几个类以及接口并没有发生什么不可描述的关系:

2.4 查看具体代码

如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了,不然屏幕还不得撑炸?

但是可以利用图形,或者配合IDEA的structure方便快捷地进入某个类的源码进行查看。

双击某个类后,你就可以在其下的方法列表中游走,对于你想查看的方法,选中后点击右键,选择 Jump to Source:

在进入某个类后,如果还想快速地查看该类的其他方法,还可以利用IDEA提供的structure功能:

选择左侧栏的structure之后,如上图左侧会展示该类中的所有方法,点击哪个方法,页面内容就会跳转到该方法部分去。

3、最后

用上面提到的的IDEA这些功能,学习和查看类关系,了解诸如主流框架源码之类的东西,可以说是非常舒服了。

到此这篇关于使用IntelliJ IDEA查看类的继承关系图形的文章就介绍到这了,更多相关使用IntelliJ IDEA查看类的继承关系图形内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用IntelliJ IDEA查看类的继承关系图形(图文详解)

    最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟. 这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享. 1.查看图形形式的继承链 在你想查看的类的标签页内,点击 右键,选择 Diagrams ,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示: 实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果

  • C++ 类的继承与派生实例详解

     C++ 类的继承与派生实例详解 继承性是面向对象程序设计最重要的特性之一,使软件有了可重用性,C++提供的类的继承机制. 继承与派生的概念 一个新类从已有的类那里获得已有的特性,这种现象称为类的继承.同样也可以说成已有的类派生出来了新的类.类A继承自类B也就是类B派生了类A.所以继承和派生的关系就像小学时把字句和被字句的造句一样.有了继承与派生后,就有了父类/基类与子类/派生类,C++中将类B称为父类/基类,将类A称为子类/派生类. 派生类的声明: #include <iostream> u

  • Python类的继承和多态代码详解

    Python类的继承 在OOP(ObjectOrientedProgramming)程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Baseclass.Superclass). 我们先来定义一个classPerson,表示人,定义属性变量name及sex(姓名和性别): 定义一个方法print_title():当sex是male时,printman:当sex是female时,prin

  • IntelliJ IDEA 的 Spring 项目如何查看 @Value 的配置和值(方法详解)

    当你打开项目或者项目中的文件的时候,如果你有 Spring 的 Value 的配置,Intellij 将会自动将参数替换为值. 如果你单击上面的值,那么这个配置参数将会显示为配置的参数名. 如果你还想显示值的话,你需要重新打开这个文件或者项目. 有没有什么快捷键可以快速进行切换. 快捷键 这个配置是在 Intellij 的 Code > Folding 中进行配置的. 快捷键是是 Ctrl + NumberPad + 快捷键是是 Ctrl + NumberPad - NumberPad +,这个

  • django ManyToManyField多对多关系的实例详解

    Django 的 ORM 有多种关系:一对一,多对一,多对多 各自定义的方式为 : 一对一: OneToOneField 多对一: ForeignKey 多对多: ManyToManyField 上边的描述太过数据而缺乏人性化,我们来更人性化一些: 多个属于一个,即 belong to : ForeignKey,多个属于一个 一个有一个,即 has one: OneToOneField 一个有很多个,即 has many: lots of A belong to B 与 B has many A

  • Python类中的装饰器在当前类中的声明与调用详解

    我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pass def test(func): def wrapper(self, *args, **kwargs): print(self.xx) return func(self, *args, **kwargs) return wrapper @test def test_a(self,a,b): pr

  • intellij idea 将模块打jar包的步骤详解

    今天要想在本机开多个java压测进程测试目标程序.所以需要在本机开多个终端执行jar程序.步骤如下: 1.点开Project Structure,点击左侧Artifacts菜单 选择下图中1.后点击2处 +号,选中3 jar的子菜单 点击4处"from modules with dependencise". 2. 进入下图:Module:选择你要打jar包的模块,MainClass:选择你main 函数所在的类 Jar files from libraries: 选中第一个打完包后是一

  • ASP.NET Core中Startup类、Configure()方法及中间件详解

    ASP.NET Core 程序启动过程如下 1, Startup 类 ASP.NET Core 应用使用Startup类,按照约定命名为Startup.Startup类: 可选择性地包括ConfigureServices方法以配置应用的服务. 必须包括Configure方法以创建应用的请求处理管道. 当应用启动时,运行时调用ConfigureServices和Configure . Startup 方法体如下 public class Startup { // 使用此方法向容器添加服务 publ

  • sun unsafe类功能及使用注意事项详解

    目录 Unsafe简介 获取Unsafe实例 Unsafe功能列表 Unsafe的数组操作 base offset含义 index scale含义 array copy to direct memory copyMemory(Object srcBase, long srcOffset, Object destBase, long destOffset, long bytes) Benchmark 什么时候用Unsafe Unsafe简介 Unsafe是位于sun.misc包下的一个类,主要提供

  • linux中关于ftp查看不到文件列表的问题详解

    今天配置linux服务器的ftp后,登录都正常,使用ftp工具登录后,所有目录都可以通过手工写路径访问,但是文件夹和文件列表看不到数据. 后来分析,总结原因得出结果是跟selinux有关,于是通过关闭selinux后尝试,ftp文件夹和文件列表都正常可以查看了. 如下2张图为解决前和解决后的截图: 1.解决前,通过输入正确的路径可以正常读取访问,但是看不到列表. 2.解决后,可以可视化查看列表数据. 在Linux下设置selinux有三种方法 一.在图形界面中: 桌面-->管理-->安全级别和

随机推荐