| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 用 IDEA 看源码的正确姿势,你掌握了吗? -> 正文阅读 |
|
[开发工具]用 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 这些功能,学习和查看类关系,了解诸如主流框架源码之类的东西,可以说是非常舒服了。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 16:17:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |