用 IDEA 神器看源码,效率真高!

点击关注公众号,回复“1024”获取2TB学习资源!

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

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

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

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

c0d9b36b1f651ef03ef76b7a6425475b.png

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

4c11a3f23c358179a42b2eee24dda072.png

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

ff05cbfc00f1dcf978fa50e929b84a84.png

显而易见的是:

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

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

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

2.1 去掉不关心的类

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

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

30c6c1bf61a3cb0daae1cdbca6a06c10.png
2.2 展示类的详细信息

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

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

f5e982f5b704bbcbf6f467f684924340.png

然后你就会得到:

14a7bd0afd08d0887e244759407b8f9a.png

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

84a28a91ade2b3c9e92b580a5a853c92.png

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

cb6b3d33034495aeb7427591860c547c.png
2.3 加入其他类到关系中来

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

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

1032c5f6674deab09fad386cacdd6b89.png

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

2aead662cbc9c161853aab2a7813d8b1.png
2.4 查看具体代码

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

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

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

dadd98acb77509f65881a3db0e909fdd.png 9cc33c0b517ed475a4fa52df96ebb27c.png

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

212a4a646c2bd35b7cc68c168c1f919d.png

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

3、最后

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

作者:Dulk

来源:cnblogs.com/deng-cc/p/6927447.html

93f5ca76263faf4dfc9bb948871f67bc.png

bb87386e57b5e2a00a88a9765763348e.png

推荐阅读 点击标题可跳转

国内这家网站火了!网友怒了:简直是强盗。。。

真的,我现在特讨厌 Safari 浏览器!

适合程序员的 5 款 Linux 发行版

企业级日志平台新秀!比 ELK 更轻量、高效

如果Mysql磁盘满了,会发生什么?还真被我遇到了

自定义注解妙用,一行代码搞定用户操作日志记录

服务器扩容思路及问题分析

IDEA 注释模板这样搞!爽!

24a61637bb1e998deb172a04b9602d6b.png

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。

随手在看、转发是最大的支持!a51269f3c92fb3cfc0877c7075df2724.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值