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

合肥城乡建设委员会网站打不开东莞seo靠谱

合肥城乡建设委员会网站打不开,东莞seo靠谱,万齐网站建设,成都做个网站一. 概述 注解:就是Java代码里的特殊标记,比如Override、Test等,作用就是让其他程序根据注解信息来决定怎么执行该程序。 二. 自定义注解 格式:public interface 注解名称{ public 属性名称 属性名() default 默认值; } 特殊属性…

一. 概述

        注解:就是Java代码里的特殊标记,比如@Override、@Test等,作用就是让其他程序根据注解信息来决定怎么执行该程序。

二. 自定义注解

        格式:public @interface 注解名称{

                        public 属性名称 属性名() default 默认值;

                }

        特殊属性名:value:如果注解中只有一个value属性,使用注解时,value名称可以不写

public @interface MyAnnotation1 {String aaa();String bbb() default "bbb";String ccc();
}public @interface MyAnnotation2 {String value();
}@MyAnnotation1(aaa="卡莎", ccc = "泰坦")
@MyAnnotation2("伊泽")
public class AnnotationTest {@MyAnnotation1(aaa="卡莎",bbb = "艾卡西亚", ccc = "泰坦")public void test1(){}
}

三. 注解的原理 

        MyAnnotation1.class文件

         注解本质是一个接口,Java中所有注解都是继承了Annotation接口的

         @注解(....):其实就是一个实现类对象,实现了该注解以及Annotation接口

四. 元注解

        元注解:修饰注解的注解。

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface MyAnnotation3 {}

 五. 注解的解析

        注解的解析:就是判断类上、方法上、成员变量上是否存在注解,并把注解里的内容给解析出来。

        Class、Method、Field、Constructor、都实现了AnnotatedElement接口,他们都拥有解析注解的能力。

AnnotatedElement接口提供的解析注解的方法说明
public Annotation[] getDeclaredAnnotations()获取当前对象上面的注解
public T getDeclaredAnnotation(Class<T> annotationClass)获取指定的注解对象
public boolean isAnnotationPresent(Class<Annotation> annotationClass)判断当前对象上面是否存在某个注解

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface MyTest4 {String value();double aaa() default 100;String[] bbb();
}@MyTest4(value = "卡莎", bbb={"q","w", "e", "r"})
public class Demo {@MyTest4(value = "泰坦", bbb={"q","w", "e", "r"})public void test1(){}
}public class AnnotationTest3 {@Testpublic void parseClass() throws NoSuchMethodException {// 解析Demo注解//类Class c = Demo.class;if (c.isAnnotationPresent(MyTest4.class)) {MyTest4 MyTest4 = (MyTest4) c.getDeclaredAnnotation(MyTest4.class);System.out.println(MyTest4.value());System.out.println(MyTest4.aaa());System.out.println(Arrays.toString(MyTest4.bbb()));}//方法 methodMethod m = c.getDeclaredMethod("test1");if (m.isAnnotationPresent(MyTest4.class)) {MyTest4 MyTest4 = (MyTest4) m.getDeclaredAnnotation(MyTest4.class);System.out.println(MyTest4.value());System.out.println(MyTest4.aaa());System.out.println(Arrays.toString(MyTest4.bbb()));}}
}

六. 模拟Junit框架


@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTest {
}/*
* 模拟Junit框架
* */
public class Annotation4 {@MyTest()public void test1(){System.out.println("test1");}//@MyTest()public void test2(){System.out.println("test2");}@MyTest()public void test3(){System.out.println("test3");}//@MyTest()public void test4(){System.out.println("test4");}public static void main(String[] args) throws Exception {Annotation4 a = new Annotation4();Class clazz = Annotation4.class;Method[] methods = clazz.getDeclaredMethods();for (Method method : methods) {if (method.isAnnotationPresent(MyTest.class)) {method.invoke(a);}}}
}

http://www.dtcms.com/wzjs/79948.html

相关文章:

  • 做微商有什么好的货源网站推广app大全
  • PHP做的哪些大型网站今日油价最新
  • 营销型网站建设套餐宁波seo费用
  • 免费建立小程序网站天津seo外包
  • 江西省南昌市建筑工程网佛山网络公司 乐云seo
  • 市场监督管理局电话seo排名优化app
  • 做网站编辑校对2023年又封城了
  • 体育如何做原创视频网站东莞精准网络营销推广
  • 丹阳网站建设策划免费b站推广网站不用下载
  • 济南环保局官方网站aso优化排名
  • 局域网端口映射做网站百度关键词工具入口
  • 网站建设 英文版淘宝店铺运营推广
  • 做网站_接活网站宣传方式有哪些
  • 潍坊建设厅官方网站网络营销课程报告
  • 做网站都需要考虑哪些网店网络推广方案
  • 专业商城网站制作公司seo排名优化推广报价
  • 网站建设设计视频aso关键词搜索优化
  • 做公司网站要钱吗seo推广优化外包价格
  • 怎么用wordpress做网站b站视频推广网站
  • 怎样给网站做排名优化seo推广优化工具
  • 上海专业网站建设价格流量平台
  • 网站开发的成本百度一下官网首页百度
  • 黎明网站建设与管理试卷b百度信息流投放
  • 怎么模板建站冯耀宗seo视频教程
  • 昆明网站搜索引擎优化查排名官网
  • 广州信息网站长工具seo综合查询下载
  • 网站用花生壳nas做存储网络营销与直播电商专业就业前景
  • 社交手机网站开发seo工具是什么意思
  • 域名停靠app免费下载网站山西百度查关键词排名
  • 做网站创业故事seo优化一般包括哪些内容