java基础:注解的定义与使用
时间:2022-07-23
本文章向大家介绍java基础:注解的定义与使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
java中的注解
1。该如何来理解注解?
乔布斯重新定义了手机,罗太君重新定义了傻逼。自然而然的就给罗太君贴上了傻逼的标签,不熟悉老罗的人,不知道他当教师,办博客,做手机,殊不知老罗还有“理想主义者”,“单口相声演员”,“段子手”等等标签
老罗还是那个老罗,只是人们对于他的不同认识给他贴上了不同的标签
我们可以简单概况一下,标签是对事物行为某些角度的评价与解释
想像代码具有生命,注解就是对于代码中某些鲜活个体的贴上去的一张标签。简化来讲,注解如同一张标签。
注解使用@interface进行修饰
定义一个注解
/**
* 定义了一个注解
*/
@Target(ElementType.METHOD) /*元注解,METHOD表明在方法上有效*/
@Retention(RetentionPolicy.RUNTIME) /*元注解,RUNTIME表明运行时有效*/
public @interface testAnnotation {
}
定义一个类 里面有两个方法,一个打上注解一个不打
/**
* 测试类2定义两个方法打上自定义的注解看看各自的执行情况
*/
public class Test2 {
@testAnnotation
public void fun(){
System.out.println("层楼终究误少年");
}
public void fun2(){
System.out.println("自由早晚乱余生");
}
}
编写测试类,看刚刚两个方法的执行情况
public class Test {
public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {
Test2 test = new Test2();
//通过反射获取到test上的所有方法存入数组
Method[] methods = test.getClass().getDeclaredMethods();
for (Method method : methods) {
//如果指定类型的注解存在返回true否则返回false
if(method.isAnnotationPresent(testAnnotation.class)){
method.invoke(test,null);
}
}
}
}
控制台打印了打上注解的那个方法
- IE漏洞调试之CVE-2013-3893
- C++ STL之迭代器注意事项
- 设计3D标签为什么要有一个字符间隙tracking?为什么要重写getPrefferedSize()?画三遍的顺序有讲究
- C++STL之整理算法
- Offset2lib攻击测试:看我如何全面绕过64位Linux的内核防护
- C++ STL之查找算法
- 教你一招 | Python3新特性(一) :字符串
- C++ STL之set的基本操作
- Android ClassLoader详解
- 揭秘银行木马Chthonic:网银大盗ZeuS的最新变种
- C++STL之map的基本操作
- android EventBus 3.0使用指南
- C++ STL之deque的基本操作
- Android 四种常见的线程池
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
- yii框架使用分页的方法分析
- Linux服务器间文件实时同步的实现
- TP3.2.3框架文件上传操作实例详解
- yii2.0框架场景的简单使用示例
- Laravel5.6框架使用CKEditor5相关配置详解
- 怎么在Linux中自定义bash命令提示符
- Hbase入门详解
- php使用curl模拟多线程实现批处理功能示例
- php实现的简单多进程服务器类完整示例
- Linux磁盘挂载、分区、扩容操作的实现办法
- PHP商品秒杀问题解决方案实例详解【mysql与redis】
- PHP设计模式之组合模式定义与应用示例
- php使用socket调用http和smtp协议实例小结
- Ubuntu删除多余内核的办法