1 package com.yubaby.annotation.p1;
2
3 /*
4 3 注解
5
6 * 概念:说明程序的。给计算机看的
7 * 注释:用文字描述程序的。给程序员看的
8
9 * 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
10 * 概念描述:
11 * JDK1.5之后的新特性
12 * 说明程序的
13 * 使用注解:@注解名称
14
15 * 作用分类:
16 ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
17 ②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
18 ③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
19 */
20
21 /**
22 * 注解javadoc演示
23 *
24 * @author haifei
25 * @version 1.0
26 * @since 1.5 //即JDK1.5后可用
27 */
28 public class AnnoDemo1 {
29 /*
30 生成javadoc(API)操作:
31 找到当前文件目录
32 在该文件夹上的路径框内输入cmd回车进入dos
33 输入:javadoc AnnoDemo1.java
34 -->生成一系列html
35
36 乱码问题解决https://www.cnblogs.com/king-of-purple/p/13199403.html
37 javadoc -encoding UTF-8 Xxxx.java
38 */
39
40 /**
41 * 求和
42 * @param a 整数
43 * @param b 整数
44 * @return 两数和
45 */
46 public int add(int a, int b){
47 return a+b;
48 }
49 }
1 package com.yubaby.annotation;
2
3 /*
4 * JDK中预定义的一些注解
5 * @Override : 检测被该注解标注的方法是否是继承自父类(接口)的
6 * @Deprecated : 该注解标注的内容,表示已过时;不推荐使用,但还可以使用
7 * @SuppressWarnings : 压制警告(即主动关闭编译器发出的代码警告,体现在idea右侧黄色短线)
8 * 一般传递参数all @SuppressWarnings("all")
9 */
10
11 //@SuppressWarnings("all") // -->右侧:本类的所有警告提醒都消失了
12 public class AnnoDemo2 {
13 /*@Override //报错
14 public String toString1() {
15 return super.toString();
16 }*/
17
18 public String toString1() { //ok
19 return super.toString();
20 }
21
22 @Override
23 public String toString() { //ok
24 return super.toString();
25 }
26
27 @Deprecated
28 public void show1(){
29 //第一版实现有缺陷
30 }
31 //即使有了更好的show2(),也不要直接删掉show1()
32 //因为要向下兼容
33 //此时可以添加注解Deprecated表明该方法已过时,不推荐使用,但还可以使用
34
35 public void show2(){
36 //作为第二版 替代show1()
37 }
38
39 // @SuppressWarnings("all") // -->test()的右侧警告/提醒都消失了,show1()的过时提示横线也没了
40 public void test(){
41 show1(); //过时方法在调用时被横线划掉了,但该用还得用
42 show2();
43 }
44 }