eclipse让实现类也添加上接口的注释_我的Java Web之路14 - Eclipse的大纲(Outline)视图...

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,原来已经分享在我的CSDN博客,现在分享在头条,希望能帮助更多码农和想成为码农的人。版权声明:本文为CSDN博主「普通的码农」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/liyongyan1202/article/details/89313973

目录

  1. 介绍
  2. 打开大纲视图
  3. 大纲视图内容
  4. HttpServlet大纲视图举例
  5. 关联大纲视图和编辑器
  6. 查看源码
  7. 总结

介绍

前面的文章介绍了在Eclipse中如何配置和关联Tomcat源码,我们也已经获得了Tomcat源码并配置好了。

现在让我们以HttpServlet为例来看看Eclipse的大纲视图的用法。

大纲的英文是outline,从百度翻译可以看到该单词作为名词的中文意思是:

梗概,大纲,提纲,草稿,要点,主要原则; 外形,轮廓,轮廓线,轮廓画法,略图(画法);

所以,顾名思义,大纲视图就是用来查看某个东西的要点的。

对于Java类来说,要点就是属性域和方法。

打开大纲视图

如果没有打开大纲视图,可以通过以下方法打开:

  • 菜单栏 -> Window -> Show View -> Outline
41f5ef3d1fc7c34169913e553a4f03d3.png

大纲视图内容

可以看到,大纲视图默认显示在主界面右侧,包括标题栏、工具栏和视图主界面:

  • 最上面是标题、最小化和最大化按钮,大家可以尝试点击一下。

最小化会隐藏起来变成一根竖条放在主界面最右侧;

最大化会占据整个主界面,其他视图变成竖条放置在两侧;

最小化和最大化之后都会有一个恢复(Restore)按钮,点击即可恢复。

  • 下一行是工具栏,从左到右依次是:
  1. Focus on Active Task:未知。
  2. Collapse All:将视图中的树状节点全部折叠起来。
  3. Sort:视图中的树状节点按照字母顺序排序,但是也先归类再排序,大致是先把内部类(以后介绍)排序,然后是静态属性、静态方法(这篇文章介绍了什么是静态成员)、非静态属性、构造方法、非静态方法等等。
  4. Hide Fields:隐藏属性。
  5. Hide Static Fields and Methods:隐藏静态成员。
  6. Hide Non-Public Members:隐藏非公有成员。
  7. Hide Local Types:未知。
  8. 最右端的倒三角:其他工具按钮。
  • 工具栏下面是视图的主界面,列举了Java类源码文件的要点,主要就是类的各个成员(内部类、属性、方法等),是按树形结构组织的。

HttpServlet大纲视图举例

按照之前文章的方法:先把鼠标移到HttpServlet这个类上,(Windows系统下)按住键盘的Ctrl键(有些笔记本可能没有这个键)同时摁下鼠标左键,这时候Eclipse的编辑器会打开另外一个标签页,如下图所示:

8f293db256e96967dbeac1ad04421b68.png

编辑器打开了HttpServlet类的源码,大纲视图显示了HttpServlet类的成员。

大纲视图中,各个成员都有特殊的符号来表示,我尝试着在HelloWorld这个Servlet添加了拥有不同访问级别的属性和方法,有些还加了static、final等修饰符,效果如下:

940f6243aaa9f92640fa1de36f7abc9b.png

可以发现还是有些规律的:

  • 首先,接口枚举(enum)、注解的符号是比较大的圆圈,里面是字母C、I、E、@。
  • 绿色圆形表示public、黄色圆角菱形表示protected、蓝色三角形表示包访问级别、红色正方形表示private。
  • 属性的符号最小(里面好像是个加号+),方法的符号中等。
  • 符号右上角一般表示static、final、abstract等修饰符,直接是修饰符的首字母,构造器是字母C(取自构造器英文单词Constructor)。
  • 类、接口、枚举(enum)、注解的符号右下角表示的是访问级别。
  • 符号左下角表示该成员有错误或警告等信息。

关联大纲视图和编辑器

Eclipse默认是点击大纲视图的某个节点,编辑器就会定位到相应的代码。但这个功能可以关闭/打开,就是在大纲视图的工具栏右侧的下拉菜单中的:

  • Link with Editor

查看源码

以HttpServlet为例,在上图中可以看到它的源码,右侧是它的大纲。

首先,我们看这个类的定义:

public abstract class HttpServlet extends GenericServlet

可见它又继承了另外一个类GenericServlet,我们可以用同样的方法查看该类的源码:

public abstract class GenericServlet implements Servlet, ServletConfig, java.io.Serializable

再用同样的方法查看Servlet、ServletConfig、Serializable的源码:

public interface Servletpublic interface ServletConfigpublic interface Serializable

总结一下就是:

  • HttpServlet和GenericServlet都是抽象类(我们后面讨论)
  • Servlet、ServletConfig、Serializable都是接口(我们后面讨论)
  • 它们形成继承的层次,可以用UML中的类图来更加直观清晰的表示(我们后面讨论)

其次,拖动编辑器的滚动条到最底端,可以看到其源码将近1000行,没有办法一下子全部看完。

再次,在重要的地方都添加上了JavaDoc注释,这就是我们把鼠标放到该类或该类的成员上会显示其JavaDoc文档的原因。

最后,我们看它的大纲视图,可以看到大部分方法都是protected的方法,且名称都类似doXXXX,参数都是HttpServletRequest和HttpServletResponse这两个类型。

这些方法都有默认的实现,然而我们显然要覆盖某个方法,添加我们自己的处理HTTP请求的逻辑,然后使用HttpServletResponse生成网页并发送。

这些方法就是用户(开发HttpServlet子类的开发人员)需要覆盖的方法,比如我们开发的HelloWorld这个Servlet就覆盖了doGet方法。

从这个例子我们可以看到类的继承/扩展机制的作用,需要功能扩展的就覆盖父类方法或添加新方法;剩下的复用父类的方法。

总结

  • 工具的使用不必死记硬背,用的多了就记住了。
  • 大家可以多点点大纲视图的工具栏各个按钮,看看有什么效果。
  • 类可以形成继承层次
  • 继承/扩展机制是一种很强大的代码复用(即消除重复)、功能扩展的技术。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值