当前位置: 首页 > news >正文

兰州城关区建设局网站衡水提供网站制作公司哪家专业

兰州城关区建设局网站,衡水提供网站制作公司哪家专业,建设银行重庆市分行官方网站,室内设计公司官网注解 1.介绍2.元注解3.注解的解析4.注解的应用场景 1.介绍 注解 Annotation 就是Java代码里的特殊标记#xff0c;作用是让其他程序根据注解信息来决定什么是执行该程序注解#xff1a;注解可以在类上、构造器上、方法上、成员变量上、参数上等位置 自定义注解 /*** 自定… 注解 1.介绍2.元注解3.注解的解析4.注解的应用场景 1.介绍 注解 Annotation 就是Java代码里的特殊标记作用是让其他程序根据注解信息来决定什么是执行该程序注解注解可以在类上、构造器上、方法上、成员变量上、参数上等位置 自定义注解 /*** 自定义注解*/ public interface MyTest1 {String aaa();boolean bbb() default true;String[] ccc(); }特殊属性名value 如果注解中只有一个vlue属性使用注解时value名称可以不写 public interface MyTest2 {String value(); // 特殊属性 }注解的原理 注解本质是一个接口Java中所有的注解都是继承了Annotation接口的注解(…): 其实就是一个实现类对象实现了该注解以及Annotation接口 2.元注解 元注解 指的是修饰注解的注解Target 声明被修饰的注解在哪些位置使用 类成员变量成员方法成员参数构造器局部变量 Retention 声明注解的保留周期 SOURCE 只作用在源码阶段字节码文件中不存在CLASS (默认值)保留到字节码文件阶段运行阶段不存在RUNTIME (开发常用)一直保留到运行解阶段 3.注解的解析 什么是注解的解析 就是判断类上、方法上、成员变量上是否存在注解并把注解里的内容给解析出来 如何解析注解 指导思想要解析谁上面的注解就应该先拿到谁比如要解析类上面的注解则应该先获取该类的Class对象在通过Class对象解析其上面的注解比如要解析成员方法上的注解则应该获取到该成员方法的Method对象再通过Method对象解析其上面的注解Class、Method、Field、Constructor 都实现了AnnotatedElement接口都拥有解析注解的能力 案例 先定义注解MyTest4 Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) public interface MyTest4 {String value();double aaa() default 100;String[] bbb(); }在Demo类中定义test1方法在类和方法上使用MyTest4的注解 MyTest4(value 蜘蛛精, aaa 991, bbb {Java, Python}) public class Demo {MyTest4(value 孙悟空, aaa 22, bbb {HTML, CSS})public void test1() {} }在AnnotationTest3测试类上解析Demo类中的全部注解 public class AnnotationTest3 {Testpublic void parseClass() throws NoSuchMethodException {// 1.先得到Class对象Class demoClass Demo.class;// 2.解析类上的注解// 判断类上是否包含了某个注解if (demoClass.isAnnotationPresent(MyTest4.class)) {MyTest4 myTest4 (MyTest4) demoClass.getDeclaredAnnotation(MyTest4.class);System.out.println(myTest4.value());System.out.println(myTest4.aaa());System.out.println(Arrays.toString(myTest4.bbb()));}// 3.解析方法上的注解Method test1 demoClass.getDeclaredMethod(test1);if (test1.isAnnotationPresent(MyTest4.class)) {MyTest4 myTest4 test1.getDeclaredAnnotation(MyTest4.class);System.out.println(myTest4.value());System.out.println(myTest4.aaa());System.out.println(Arrays.toString(myTest4.bbb()));}} }4.注解的应用场景 案例模拟Junit框架 需求定义若干个方法只有加了MyTest注解就会触发该方法执行 分析 定义一个自定义注解MyTest只能注解方法存放范围是一直都在定义若干个测试方法部分方法加上MyTest注解部分方法不加模拟Junit程序可以触发加了MyTest注解的方法执行 Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface MyTest { }public class AnnotationTest4 {public void test1() {System.out.println(test1);}MyTestpublic void test2() {System.out.println(test2);}public void test3() {System.out.println(test3);}MyTestpublic void test4() {System.out.println(test4);}public static void main(String[] args) throws Exception {// 1.获取对象Class annotationTest4Class AnnotationTest4.class;// 2.获取所有方法Method[] methods annotationTest4Class.getDeclaredMethods();// 3.遍历所有方法AnnotationTest4 annotationTest4 new AnnotationTest4();for (Method method : methods) {// 4.判断如果存在MyTest注解if (method.isAnnotationPresent(MyTest.class)) {// 5.存在MyTest注解执行该方法method.invoke(annotationTest4);}}} }
http://www.w-s-a.com/news/663424/

相关文章:

  • 网站制作南宁如何撰写一个网站规划建设方案
  • 建站网站和维护需要会什么杭州人防质监站网址
  • 唐山免费做网站莱芜吧贴吧最新消息
  • 韶关市建设工程造价网站网络营销的平台有哪些
  • 网站建设费大概多少钱成都网站建设低价
  • 做表格的网站东莞常平房价
  • 国家级建设网站高密做网站哪家强价位
  • 江西省新的建设厅三类人员网站做标记网站
  • 做最精彩绳艺网站产品设计培训
  • 营销型网站建设品牌深圳网络推广最新招聘
  • 单位网站等级保护必须做吗广州app软件开发公司
  • 免费flash网站模板怎么仿网站链接
  • 泉州网站建设哪家好平面设计转行做什么比较好
  • 忘记网站备案账号设计一个网站
  • 国内购物网站哪个最好海珠营销网站建设报价
  • 小型网站搭建logo免费制作
  • dede 网站模板哈尔滨房产信息网官方网站
  • 设计师个人作品集模板班级优化大师网页版登录
  • 高端网站建设教学网站开发前期准备工作
  • 网站评论列表模板设计官网的
  • 怎么做可以访问网站ui设计自学学的出来吗
  • 网站如何接入支付宝软件开发工作内容描述
  • 廊坊网站建设搭建整合营销传播的效果表现为
  • 网站服务器在本地是指园林绿化
  • 公司网站建设需要什么科目网站代运营价格
  • 网站建设前的ER图ppt模板图片 背景
  • 做一个网站花多少钱网站导航营销步骤
  • 仙桃网站定制做房产网站能赚钱吗
  • 西安网站制作模板最新源码
  • 南京江宁网站建设大学高校网站建设栏目