简单说说
注解就是告示牌,告诉你要干什么,不能干什么。
从英语上更加一目了然:注解的英文是annotation,英语的解释是a comment or instruction (usually added),说的是注解就是一段指令。
运用注解需要三样东西
1、类:类是什么呢?在java里叫Object,这个单词被翻译成“类”。听起来高大上,但是对于入门者来说实在是不知所云,这个单词正经的翻译其实是“东西”,生活中一切都可以叫做东西,比如西瓜,橘子,梨,你咬了一口没剥皮的橘子,满足苦涩,把皮一吐,你会说这东西怎么这么难吃,这里的东西就是橘子,橘子就是东西。所以java中的类就是指的一种东西(其实不论是哪种语言,类就是东西)。
像这样我可以定义一个东西,比如就定义橘子树这个东西吧:
class OrangeTree {
//橘子树是有颜色的
private String color;
}
2、注解:注解是什么呢?注解其实就是个告示牌,告诉见到这个告示的人应该做些什么。
/**
*
* 定义了一个叫“醒目的告示牌”的注解
* 注解其实就是告示牌
*
*/
@Retention(RetentionPolicy.RUNTIME) //这个注解是必须的,不然相当于用无颜色的笔写字,读注解的时候看不到
public @interface xingMuDeGaoShiPai {
//我规定了贴纸上可以写一些message
//default "" 默认情况下告示上什么都没写,是空白的
String message() default "";
}
然后我有了一张醒目的告示牌(就是刚定义的注解),有了这张空白告示牌怎么办?我要把告示牌立在上,橘子树旁边,不让人偷橘子。用代码表示就是:
@XingMuDeGaoShiPai (message="不许偷橘子")
public class OrangeTree {
private String color;
}
我们看到,把注解放在橘子树这个类的上面,再把原来空白的message写上想写的内容,就完成了给类加注解。
那我给这个橘子树旁边立上告示牌是想干嘛呢?那是因为树是我种的,不想别人偷我的橘子,然后让大家按我说的做,这就需要关于使用注解的最后一样东西。
3、读取注解。
我立上告示牌就是想让别人读的,读了告示牌上的字,就按告示牌上的内容做,比如我在橘子树旁边立了告示牌,就是想大家别偷我橘子,比较种了好几年了也不容易!但是呢,偏偏就有人没素质,非得偷我橘子,用代码表示,不管橘子难不难吃我都要尝尝:
public class WoJiuYaoChangChang {
public static void main(String[] args) {
//看到了超好看的贴纸
if (OrangeTree.class.isAnnotationPresent(XingMuDeGaoShiPai.class)) {
//超好看的贴纸上写着不许偷橘子
String duDaoLeMessage = Orange.class.getAnnotation(XingMuDeGaoShiPai .class).message();
if (duDaoLeMessage.equals("不许偷橘子")) {
//我就要偷,就想尝尝橘子什么味
System.out.println("我不信,我就要尝尝");
}
}
}
}
尝过发现真的难吃。