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);
}
}
}
}
控制台打印了打上注解的那个方法
- FindBugs详解
- Java杂项
- android SurfaceView绘制实现原理解析
- AbstractQueuedSynchronizer实现示例
- PyQt的一个UI单元测试框架思路
- Spring Cloud Zuul实现动态路由
- android应用资源预编译,编译和打包全解析
- Python优雅地dumps非标准类型
- html5标签基础
- 彻底搞懂Gradle、Gradle Wrapper与Android Plugin for Gradle的区别和联系
- 社会化分享
- Android真机安装sqlite3的方法
- 二次元世界的Linux—东方Project之B站掠影
- 带三方登录(qq,微信,微博)
- 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 文档注释
- 操作系统实验多线程编程中的读者优先和写者优先
- 【python】使用csv库以字典格式读写csv文件
- 基于TypeScript封装Axios笔记(八)
- springmvc之HttpMessageConverter<T>
- django-模板之静态文件加载(十四)
- springmvc之使用JstlView
- django-模板之include标签(十五)
- 【pytorch】改造mobilenet_v2进行multi-class classification(多标签分类)
- 走进STL - heap,小树芽
- 走进STL - 序列式容器(常用篇)
- springmvc之RequestMapping中的请求方式
- 拥抱STL - union,天作之秀
- 拥抱STL -typename该怎么理解
- 走近STL - map,只愿一键对一值
- springmvc之使用servlet原生API作为参数