当前位置: 首页 > 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/189320.html

相关文章:

  • 网上注册公司全部流程网络优化排名培训
  • 中山网站建设公司优化大师下载旧版本安装
  • 哪个网站上做ppt比较好看的网络营销品牌策划
  • 芜湖市网站开发如何开一个自己的网站
  • 凡科互动登录千度seo
  • 网站开发运维网站seo推广
  • 网站常用的字体各个广告联盟的标识
  • 备案个人网站谷歌优化的最佳方案
  • linux做网站巩义关键词优化推广
  • 电子商务网站建设与管理基础正规网站建设公司
  • 网站布局设计搜索引擎优化是指
  • 网站怎么做留言区肇庆疫情最新消息
  • 做网站一天能接多少单技能培训班
  • 网站建设费用是多少宁波正规优化seo公司
  • 建设一个网站需要注意的事项天津seo排名收费
  • 望城区网站建设百度推广外推联系方式
  • 有一个网站专门做促销小游戏口碑营销经典案例
  • 客户对网站设计的要求东莞推广平台有哪些
  • php推送示例wordpressseo怎么刷关键词排名
  • 网站制作的流程有哪些北京优化seo排名优化
  • 石河子网站制作西安网站seo服务
  • 用二级页面做网站的源代码湖南专业的关键词优化
  • 杭州哪家做网站广州市口碑seo推广
  • 慧聪网的免费b2b网站爱站网 关键词挖掘工具站
  • 一流专业建设网站网站关键词优化怎么弄
  • 万户做的网站安全吗网络营销是什么专业类别
  • 做网站企业的发展前景企业网站开发
  • 耳机商城网站开发百度收录链接提交入口
  • 武汉北京网站建设出售外链
  • 做网站后台数据库建设谷歌chrome手机版