让别人和自己看懂自己的程序代码?一文掌握Java单行多行、文档注释以及注解(Annotation)超详细的理解使用,IDEA注释注解快捷键和模板,提高程序代码更有可读性

  • 文档注释(Java特有)

  • Annotation(注解)的理解

  • 常见的Annotation示例

  • IDEA注释注解快捷键及模板

  • 自定义 Annotation

  • JDK 中的元注解


单行和多行注释


注释的内容不参与编译,即编译以后的.class的字节码文件中不包含注释的内容。

作用:

①对程序进行解释说明,增强可读性。

②调试所写的代码。(将某代码注释来debug)

格式:

单行注释:以//开头

多行注释:注释内容用/**/一对包住

class HelloJava{

/*

多行注释:

如下的main方法是程序的入口!

main的格式是固定的!

*/

public static void main(String[] args){

//单行注释:如下的语句表示输出到控制台。

System.out.println(“Hello Java !!!”);

}

}


文档注释(Java特有)


注释内容可以被JDK提供的工具javadoc解析,生成以网页文件形式展现的该程序的说明文档。

/**

文档注释:

@author Yeman

@version v1.0

*/

public class HelloJava{

/*

多行注释:

如下的main方法是程序的入口!

main的格式是固定的!

*/

/**

文档注释:

如下的main方法是程序的入口!

*/

public static void main(String[] args){

//单行注释:如下的语句表示输出到控制台。

System.out.println(“Hello Java!!!”);

}

}


Annotation(注解)的理解


从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持,也就是Annotation(注解)。

Annotation 其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用 Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。

Annotation 可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存在 Annotation 的 “name=value” 对中。

在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。

未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解,注解是一种趋势,一定程度上可以说:框架 = 注解 + 反射 + 设计模式


常见的Annotation示例


示例一:生成文档相关的注解

@author 开发该类模块的作者,多个作者之间使用","分隔开

@version 该类模块的版本

@see 参考转向,也就是相关主题

@since 从哪个版本开始增加的

@param 对方法中某参数的说明,如果没有参数就不能写

@return 对方法返回值的说明,如果方法的返回值类型是void就不能写

@exception 对方法可能抛出的异常进行说明 ,如果方法没有用throws显式抛出的异常就不能写

其中

@param @return@exception 这三个标记都是只用于方法的

@param的格式要求:@param 形参名 形参类型 形参说明

@return 的格式要求:@return 返回值类型 返回值说明

@exception 的格式要求:@exception 异常类型 异常说明

@param@exception可以并列多个

/**

  • @Author: Yeman

  • @Date: 2021-09-10-11:13

  • @Description:

*/

public class AnnotationTest {

/**

  • 程序的主入口

  • @param args

*/

public static void main(String[] args) {

System.out.println(getArea(3));

}

/**

  • 求圆的面积方法

  • @param radius double 圆的半径

  • @return double 圆的面积

*/

public static double getArea(double radius){

return Math.PI * radius * radius;

}

}

示例二:在编译时进行格式检查(JDK内置的三个基本注解)

@Override: 重写父类中的方法,该注解只能用于方法

@Deprecated: 用于表示所修饰的元素(类、方法等)已过时

@SuppressWarnings: 抑制编译器警告

public class AnnotationTest{

public static void main(String[] args) {

@SuppressWarnings(“unused”)

int a = 10;

}

@Deprecated

public void print(){

System.out.println(“过时的方法”);

}

Java核心架构进阶知识点

面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的

image

image

image

内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补

相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的

[外链图片转存中…(img-bwSU1WxS-1714798574238)]

[外链图片转存中…(img-pgupuwMe-1714798574239)]

[外链图片转存中…(img-8yjGrsMn-1714798574240)]

内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值