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

全面解析Java注解

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

    2017-02-23

  • 注解分类 (按运行机制):1源码注解(源码中存在,编译成.class文件就不存在了) 2.编译时注解(@Override @Deprecated @Suppvisewarnings) 3.运行时注解(运行阶段还起作用甚至影响运行逻辑的注解) (按照来源分):1.来自JDK注解 2.第三方注解 3.自己定义的注解 注解的注解即为元注解
    查看全部
    0 采集 收起 来源:Java注解的分类

    2017-02-22

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

    2017-02-22

  • 课堂总结
    查看全部
    0 采集 收起 来源:课程总结

    2017-02-22

  • 代码后续 评论区大神提供的源码:http://blog.csdn.net/zen99t/article/details/50351575
    查看全部
  • 2. 接下来,考虑query()方法的实现。 步骤如图:
    查看全部
  • 要实现的功能:调用方法query(),返回对应的sql语句 1. 首先,考虑代码如何与数据库进行映射。 使用注释将数据库中的表名、字段名与Java类的成员变量形成映射。(如图) 需要在项目中创建两个注解类(Table/Column)。
    查看全部
  • 注解实战 需求
    查看全部
    0 采集 收起 来源:项目需求

    2017-02-22

  • 解析注解 概念:通过反射获取类、函数或成员的运行时注解信息,从而实现动态控制程序运行的逻辑。 @Inherited 只能实现类的继承,而接口是无法继承的。即接口的注解无法影响到实现接口的类上面。另外,父类的方法的注解也无法被子类继承。 核心代码: //1. 使用类加载器加载类 Class c = Class.forName("anno.test.Child"); //2. 找到类上面的注解 boolean isExist=c.isAnnotationPresent(Description.class);//isAnnotationParse()判断类上是否存在Description这样的注解 if(isExist){ //3.获得注解实例 Description d = (Description)c.getAnnotation(Description.class); System.out.println(d.value()); } //4.找到方法上的注解 Method[] mts = c.getMethods(); for (Method mt : mts) { if(mt.isAnnotationPresent(Description.class)){ Description d2 = (Description)mt.getAnnotation(Description.class); System.out.println(d2.value()); }} //另外一种获取类上的注解的途径 Annotation[] annos = c.getAnnotations(); for (Annotation anno : annos) { if(anno instanceof Description){ System.out.println(((Description) anno).value()); }} //另一种获取方法上的注解的途径 for (Method mt : mts){ Annotation[] annos2 = mt.getAnnotations(); for (Annotation anno : annos2) { if(anno instanceof Description){ System.out.println(同上); }}}
    查看全部
    0 采集 收起 来源:解析注解

    2018-03-22

  • 通过反射读取注解
    查看全部
    0 采集 收起 来源:解析注解

    2017-02-22

  • 1. 虽然 public @interface Description{ String desc(); } @Description(desc="the name method") 不会报错。 但不符合规范,既然只有一个成员,就要使用value作为成员名,改成: public @interface Description{ String value(); } 然后在使用注解的时候,直接赋值,不写成员名和等号: @Description("the name method") 以上方式,约定俗成,比较直观。 2. 没有成员的注解——标志注解(比如常见的@Override),在使用的时候不加括号。 3. 当一个方法被规定为({ElementType.METHOD})就表示只能用于方法的注解,如果用在类上面,就会报错(添加 ElementType.TYPE 则可适用于类)。这里没有包含关系,例如只写ElementType.TYPE 则不能对方法进行注解,只能对类或接口进行注解。 4. @Documented(属于标识注解,生成javadoc时会包含注解) 创建一个Javadoc :右击项目--> Export --> Java --> Javadoc --> next -->Browser 选择要存放的文件夹。点击finish就生成成功了。 打开这个文件夹,点击index.html,就能查看该项目的一些摘要。
    查看全部
  • 使用注解的语法 @注解的名称 (<成员名1> = <成员值1> , <成员名2> = <成员值2> ,...) 例如:( 对方法eyeColor()使用注解@Description,同时给注解的成员赋值 ) @Description( desc="I am eyeColor",author="Mooc boy",age=18) public String eyeColor(){ return "red"; } 上面的成员,就是注解内部的成员: public @interface Description{ String desc(); String author(); int age() default 18; }
    查看全部
  • 下次来看
    查看全部
    0 采集 收起 来源:Java注解概述

    2017-02-20

  • 元注解包括:@Target @Retention @Inherited @Documented。 @Target是元素类型的(也就是注解的)作用域。注解的作用域包括: 1. CONSTRUCTOR 构造方法声明 2. FIELD 字段声明 3. LOCAL_VARIABLE 局部变量声明 4. METHOD 方法声明 5. PACKAGE 包声明 6. PARAMETER 参数声明 7. TYPE 类,接口 @Retention代表注解的生命周期,一共有三种: 1. SOURCE 只在源码显示,编译时会丢弃。 2. CLASS 编译时会记录到.class文件中,运行时忽略。 3. RUNTIME 运行时存在,可以通过反射读取。 @Inherited 这是一个标识注解。允许子类(子注解)继承。 @Documented 生成javadoc的时候会包含注解的信息
    查看全部
    0 采集 收起 来源:Java自定义注解

    2017-02-19

  • 自定义注解的语法要求(如图) 1. 使用@interface关键字定义注解 2. 成员(成员变量)以无参无异常的方式声明 3. 可以用default为成员指定一个默认值 --->成员类型是受限的,合法的类型包括原始类型以及String、Class、Annotation(注解)、Enumeration(枚举); --->如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=); --->注解类可以没有成员,没有成员的注解称为“标识注解”。
    查看全部
    0 采集 收起 来源:Java自定义注解

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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