栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java的注解和反射

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java的注解和反射

目录

1.注解

1.1内置注解:

1.2元注解:

2.反射


1.注解

Annotation是JDK5.0开始引入的新技术。

1.1内置注解:

1.2元注解:

元注解的作用是负责注解其他注解 。

 @Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期

(source(注解在程序是源代码.java的时候会被识别) <  class(注解在程序是字节码文件.class的时候可以被识别) < runtime(注解在程序运行时可以被识别))

@Target表示我们的注解可以使用在什么地方。

枚举ElementType如下:


package java.lang.annotation;


public enum ElementType {
    
    TYPE,

    
    FIELD,

    
    METHOD,

    
    PARAMETER,

    
    CONSTRUCTOR,

    
    LOCAL_VARIABLE,

    
    ANNOTATION_TYPE,

    
    PACKAGE,

    
    TYPE_PARAMETER,

    
    TYPE_USE
}
@Target注解需要传入的是数组值,定义的属性ElementType[] value()为,@Target源码如下:
package java.lang.annotation;


@documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
    
    ElementType[] value();
}

@Target注解的使用案例如下:

package com.minstone;

import net.bytebuddy.implementation.bind.annotation.RuntimeType;

import java.lang.annotation.*;


@MyAnnotation
public class Test01 {
    public static void main(String[] args) {

    }

    @MyAnnotation
    public void test(){

    }
}


// 表示我们的注解可以用在什么地方
@Target(value = {ElementType.METHOD})
// 表示我们的注解在什么地方生效
// runtime > class > sources
// 定义为runtime的runtime、class、sources 3个阶段生效
// 定义为class的可以在class、sources 2个阶段生效
// 定义为sources的只能在sources阶段生效
@Retention(value = RetentionPolicy.SOURCE)
// 表示是否将我们的注解生成在 JAVAdoc中
@documented
// 子类可以继承父类的注解
@Inherited
@interface MyAnnotation{

}
1.3自定义注解

 

注解可以显示赋值,如果没有默认值,我们就必须给注解赋值。

自定义注解未设置参数默认值,在使用该注解的时候不给该参设值则报错

 自定义注解为设置参数默认值,使用该注解的时候不给该参设值则正常

 

 

2.反射
反射学习的大纲:

Java反射机制概述

理解Class类并获取Class实例

类的加载与ClassLoader

创建运行时类的对象

获取运行时类的完整结构

调用运行时类的指定结构

静态语言和动态语言的区别:

 Java Reflection(反射)

反射是什么,反射和正常方式的区别?如下:

 Java 反射机制提供的功能 有哪些?

Java 反射的优点和缺点 是什么?

 

反射相关的主要API

 

 

Java代码的在计算机中经历的三个阶段

1. 源代码 (.java)编译为

2.字节码文件(class)编译为

3.计算机能够识别的二进制文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721851.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号