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

网站公司图片广州远洋建设实业公司网站

网站公司图片,广州远洋建设实业公司网站,徐州 商城网站建设,外国人做的中国字网站3.注解 3.1概述【理解】 概述 对我们的程序进行标注和解释 注解和注释的区别 注释: 给程序员看的注解: 给编译器看的 使用注解进行配置配置的优势 代码更加简洁,方便 3.2自定义注解【理解】 格式 public interface 注解名称 { ​ public 属性类型 属性名() default 默认值…

3.注解

3.1概述【理解】

  • 概述

    对我们的程序进行标注和解释

  • 注解和注释的区别

    • 注释: 给程序员看的
    • 注解: 给编译器看的
  • 使用注解进行配置配置的优势

    代码更加简洁,方便

3.2自定义注解【理解】

  • 格式

    public @interface 注解名称 {

    ​ public 属性类型 属性名() default 默认值 ;

    }

  • 属性类型

    • 基本数据类型
    • String
    • Class
    • 注解
    • 枚举
    • 以上类型的一维数组
  • 代码演示

    public @interface Anno2 {
    }public enum Season {SPRING,SUMMER,AUTUMN,WINTER;
    }public @interface Anno1 {//定义一个基本类型的属性int a () default 23;//定义一个String类型的属性public String name() default "itheima";//定义一个Class类型的属性public Class clazz() default Anno2.class;//定义一个注解类型的属性public Anno2 anno() default @Anno2;//定义一个枚举类型的属性public Season season() default Season.SPRING;//以上类型的一维数组//int数组public int[] arr() default {1,2,3,4,5};//枚举数组public Season[] seasons() default {Season.SPRING,Season.SUMMER};//value。后期我们在使用注解的时候,如果我们只需要给注解的value属性赋值。//那么value就可以省略public String value();}//在使用注解的时候如果注解里面的属性没有指定默认值。
    //那么我们就需要手动给出注解属性的设置值。
    //@Anno1(name = "itheima")
    @Anno1("abc")
    public class AnnoDemo {
    }
    
  • 注意

    如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可

  • 自定义注解案例

    • 需求

      自定义一个注解@Test,用于指定类的方法上,如果某一个类的方法上使用了该注解,就执行该方法

    • 实现步骤

      1. 自定义一个注解Test,并在类中的某几个方法上加上注解
      2. 在测试类中,获取注解所在的类的Class对象
      3. 获取类中所有的方法对象
      4. 遍历每一个方法对象,判断是否有对应的注解
    • 代码实现

      //表示Test这个注解的存活时间
      @Retention(value = RetentionPolicy.RUNTIME)
      public @interface Test {
      }public class UseTest {//没有使用Test注解public void show(){System.out.println("UseTest....show....");}//使用Test注解@Testpublic void method(){System.out.println("UseTest....method....");}//没有使用Test注解@Testpublic void function(){System.out.println("UseTest....function....");}
      }public class AnnoDemo {public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, InvocationTargetException {//1.通过反射获取UseTest类的字节码文件对象Class clazz = Class.forName("com.itheima.myanno3.UseTest");//创建对象UseTest useTest = (UseTest) clazz.newInstance();//2.通过反射获取这个类里面所有的方法对象Method[] methods = clazz.getDeclaredMethods();//3.遍历数组,得到每一个方法对象for (Method method : methods) {//method依次表示每一个方法对象。//isAnnotationPresent(Class<? extends Annotation> annotationClass)//判断当前方法上是否有指定的注解。//参数:注解的字节码文件对象//返回值:布尔结果。  true 存在  false 不存在if(method.isAnnotationPresent(Test.class)){method.invoke(useTest);}}}
      }
      

3.3元注解【理解】

  • 概述

    元注解就是描述注解的注解

  • 元注解介绍

    元注解名说明
    @Target指定了注解能在哪里使用
    @Retention可以理解为保留时间(生命周期)
    @Inherited表示修饰的自定义注解可以被子类继承
    @Documented表示该自定义注解,会出现在API文档里面。
  • 示例代码

    @Target({ElementType.FIELD,ElementType.TYPE,ElementType.METHOD})  //指定注解使用的位置(成员变量,类,方法)
    @Retention(RetentionPolicy.RUNTIME) //指定该注解的存活时间
    //@Inherited //指定该注解可以被继承
    public @interface Anno {
    }@Anno
    public class Person {
    }public class Student extends Person {public void show(){System.out.println("student.......show..........");}
    }public class StudentDemo {public static void main(String[] args) throws ClassNotFoundException {//获取到Student类的字节码文件对象Class clazz = Class.forName("com.itheima.myanno4.Student");//获取注解。boolean result = clazz.isAnnotationPresent(Anno.class);System.out.println(result);}
    }
http://www.yayakq.cn/news/786694/

相关文章:

  • 网站控制网站建设模板案例响应式
  • 网上智慧团建网站登录网站幻灯片 字段
  • 免费的作文网站网站 医院信息化建设
  • 类似携程网的网站做返利网站
  • 绿色网站风格郑州网站开发汉狮
  • 微商城网站开发视频网站后台风格
  • 免费小程序制作软件南宁seo推广
  • 大型资讯门户网站怎么做排名山西网站制作公司哪家好
  • 大连手机网站开发网站制作模板图片
  • 网站建设目标初步目标网站后台数据处理编辑主要是做什么的啊
  • php网站虚拟机云建站
  • 广州网站定制开发小程序网站怎么做
  • 网页跳转到别的网站广告设计与制作专业比较好的大学
  • 网站代码优化多少钱杭州企业宣传画册制作公司
  • 做网站php需要几个人邻水县规划和建设局 网站
  • 微网站怎么做百度关键词排名免费学高中课程的软件
  • 自己做的网站如何让别的网可以查看WordPress给文章添加省份
  • 网站为什么会被kwordpress 推广返利
  • 山西大同网站建设九龙坡网站建设
  • 推进政务服务网站一体化建设网站建设三站合一微信小程序
  • 北京正规网站建设比较wordpress模板哪里买
  • 提供网站设计收费标准网站介绍的ppt怎么做
  • 网站专题制作邢台网站建设与制作
  • 网站建设返回函数企业信息查询系统官网广东
  • 手机开源网站代码WordPress_posts
  • 虚拟主机做网站上海网络建设规划
  • 烟台汽车网站建设做企业网站代码那种好
  • 湖北专业网站建设大全wordpress first主题
  • 浙江省建设厅网站高工前端和后端是什么意思
  • ajax+jsp网站开发从入门到精通网页设计实训报告2000字