为了账号安全,请及时绑定邮箱和手机立即绑定

全面解析Java注解

难度初级
时长 1小时 7分
学习人数
综合评分9.43
519人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • <strong>全面解析 java 注解</strong>
    查看全部
    0 采集 收起 来源:Java注解概述

    2020-09-11

  • JDk自带注解:

    @Override   @Deprecated @Suppvisewarning


    查看全部
    0 采集 收起 来源:JDK中的注解

    2019-09-03

  • Java注解概念:Java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法(注解是在JAVA1.5中引入的)。

    学习注解的目的?

    1、能够读懂别人写的代码,尤其是框架相关的代码。

    注解的优点?

    2、使编程更加简洁,代码更加清晰。

    注解可以做什么?

    3、 在使用框架的时候会使用到注解。


    【一】Java中的常见注解(JDK和第三方定义好的注解)

    【二】注解的分类

    【三】自定义注解

    【四】注解应用实战


    查看全部
    0 采集 收起 来源:Java注解概述

    2019-09-03

  • 解析注解:

    通过反射获取类,函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑

    步骤1:使用类加载器加载类

    Class c=Class.forName("com.ann.test.Child");

    步骤2:找到类上面的注解

    isAnnotationPresent(类类型):Class对象的方法,判断当前类类型是否存在某个类类型的注解,返回类型为boolean。

    boolean isExist=c.isAnnotationPresent(Description.class);

    步骤3:获取类上自定义注解实例,需要强制类型转换。

    Description d=(Description)c.getAnnotation(Description.class);

    https://img1.sycdn.imooc.com//5d1720c30001310b07580515.jpg

    步骤4:获取方法上的注解,首先,遍历所有方法,通过方法对象的isAnnotation查看是否有自定义注解,如果存在则输出方法的自定义注解的信息。


    https://img1.sycdn.imooc.com//5d1725750001e43e07010326.jpg

    第二种解析方法:获取这个方法的所有注解,Annotation [] as=m.getAnnotations();然后遍历该注解,如果遍历的注解是Description类型,则把遍历的注解强转为Description类型,并进行输出value()信息。

    https://img1.sycdn.imooc.com//5d17262d0001c9b905820335.jpg


    @Inherited:当自定义注解上使用了该注解,如果在父类上标识该注解,解析一个子类,子类也可以获取该注解的信息。



    查看全部
    0 采集 收起 来源:解析注解

    2019-08-24

  • public @interface Description{//使用@interface关键字定义注解
        String desc();//成员以无参无异常方式声明
        String author();//成员类型受限的,合法的类型包括原始类型及String,Class,Annotation,Enumeration
        
        int age() default 18;//可以用default只认一个默认值
    }//注解中有一个成员时,则成员名必须取名为value(),在使用的时候可以忽略成员名和赋值号,注解类可以没有成员,没有成员的注解称为标识注解

    查看全部
    0 采集 收起 来源:Java自定义注解

    2019-08-24

  • 常见第三方注解:Spring :@Autowired,@Service,@Repository
    Mybatis:@InsertProvider,@UpdateProvider,@Options

    注解的分类:

    按照运行机制分:

    源码注解:注解旨在源码中存在,编译成.class文件就不存在了

    编译时注解,注解在源码和.class文件中都存在,象jdk自带注解三个都是编译时注解

    运行时注解:在运行阶段还起作用,甚至会影响运行逻辑的注解.

    元注解:给注解进行注解.注解的注解

    查看全部
    0 采集 收起 来源:Java注解的分类

    2019-08-24

  • package com.ann.test;

    public class Test {
     @SuppressWarnings("deprecation")//忽略deprecation的警告
    public void  sing() {
         Person person=new Child();
         person.sing();
     }
    }



    查看全部
    0 采集 收起 来源:Java第三方注解

    2019-08-24

  • Java注解
    看懂别人代码,看懂注解,让编程更加简洁,代码清晰,注解应用广泛,自定义注解解决问题
    Java提供了一种源程序中的元素关联任何信息和任何元数据的途径和方法

    查看全部
    0 采集 收起 来源:Java注解概述

    2019-08-24

  • 解析方法的注解;

    方法2

    查看全部
    0 采集 收起 来源:解析注解

    2019-07-26

  • 解析方法的注解;

    方法1

    查看全部
    0 采集 收起 来源:解析注解

    2019-07-26

  • 解析注解。

    查看全部
    0 采集 收起 来源:解析注解

    2019-07-26

  • @Documented
    // 生成javadoc时会包含注解;


    查看全部
    0 采集 收起 来源:Java自定义注解

    2019-07-26

  • @Inherited

    // 允许子类继承;

    查看全部
    0 采集 收起 来源:Java自定义注解

    2019-07-26

  • @Retention(RetentionPolicy.RUNTIME)

    /*

    SOURCE:只在源码显示,编译时会丢弃;

    CLASS:编译时会记录到class中,运行时忽略;

    RUNTIME:运行时存在,可通过反射读取;

    */

    查看全部
    0 采集 收起 来源:Java自定义注解

    2019-07-26

  • 元注解:
    @Target({ElementType.METHOD,ElementType.TYPE})
    @Retention(RetetionPolicy.RUNTIME)
    @Inherited
    @Documented
    public @interface Description{
    ...
    }

    /*

    CONSTRUCTOR:构造方法声明;

    FIELD:字段声明;

    LOCAL_VARIABLE:局部变量声明;

    METHOD:方法声明;

    PACKAGE:包声明;

    PARAMETER:参数声明;

    TYPE:类接口;

     */

    @Target({ElementType.METHOD,ElementType.TYPE})


    查看全部
    0 采集 收起 来源:Java自定义注解

    2019-07-26

举报

0/150
提交
取消
课程须知
小伙伴们注意啦!学习本课程前需要具备Java基础,理解面向对象思想,熟悉Java反射。如果能了解spring、hibernate等框架就更好啦!
老师告诉你能学到什么?
1、为什么使用注解 2、理解注解的基本概念 3、能够自定义注解 4、理解注解在实际项目中的应用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!