day10-注解跟反射(Annotation)
2021/7/17 6:08:39
本文主要是介绍day10-注解跟反射(Annotation),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
day10-注解跟反射(Annotation)
什么是注解
注解与注释是有区别的
常用注解
@Override:重写的注解
@Functionalnterface:函数接口注解
@Deprecated:已废弃注解
@SuppressWarnings(valu=“unchecked”):易执行的
@SuppressWarnings(“all”):镇压警告,系统警告消失
@Target({TYPE,FIELD,METHOD,PARMETER,CONSTRUCTOR,LOCAL_VARIABLE}):目标类型,使用范围
内置注解
元注解
//元注解测试 @MyAnnotation public class TestAnnotation { @MyAnnotation public static void main(String[] args) { } } // 定义一个注解 //@Target:规定注解可以使用的类型范围 //TYPE:类,METHOD:方法,Annotation_TYPE:注解类型 //Construct:构造器,FIELD:字段,PARAMETER:参数,LOCAL_VARIABLE:本地变量,PACKAGE:包类型 @Target({ElementType.TYPE,ElementType.METHOD}) //表示我们的注解在什么时候还有效 RunTIME>class>sources @Retention(value = RetentionPolicy.RUNTIME) //表示是否将我们的注解声明在JAVAc文件中 @Documented //说明子类可以继承父类的该注解 @Inherited @interface MyAnnotation{ }
如何自定义注解
ElementTYPE:对象类型
public class TestAnnotation { //有默认值的参数可以不写使用默认值,没有默认值的参数必须赋值 @MyAnnotation2(name="史佳豪",money = 1000,has = {12,13}) @MyAnnotation3(5) public static void main(String[] args) { } } //注解中定义参数 @Target(ElementType.METHOD) @Inherited @Retention(RetentionPolicy.RUNTIME) @Documented @interface MyAnnotation2{ // 参数定义:参数类型 + 参数名 +()选+ default+默认值 +; String name(); String sex() default "MAN"; int age()default 18; int money(); int[] has();//定义一个int类型的数组参数 } @Target(ElementType.METHOD) @Inherited @Retention(RetentionPolicy.RUNTIME) //当只有一个参数时参数名应使用value,这样在注解添加参数时可以不写参数名,直接赋值 @interface MyAnnotation3{ int value (); }
这篇关于day10-注解跟反射(Annotation)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04敏捷管理与看板工具:提升研发、设计、电商团队工作效率的利器
- 2025-01-04智慧养老管理工具如何重塑养老生态?
- 2025-01-04如何打造高绩效销售团队:工具与管理方法的结合
- 2025-01-04解决电商团队协作难题,在线文档工具助力高效沟通
- 2025-01-04春节超市管理工具:解锁高效运营与顾客满意度的双重密码
- 2025-01-046种主流销售预测模型:如何根据场景选用最佳方案
- 2025-01-04外贸服务透明化:增强客户信任与合作的最佳实践
- 2025-01-04重新定义电商团队协作:在线文档工具的战略作用
- 2025-01-04Easysearch Java SDK 2.0.x 使用指南(三)
- 2025-01-04百万架构师第八课:设计模式:设计模式容易混淆的几个对比|JavaGuide