Java代码中注解相关说明及注解机制相关说明

Java-教程王 Java教程 发布时间:2021-08-09 21:55:01 阅读数:10438 1

注解的相关概念说明

注解是一种符号,用于在类,方法,参数,属性,构造器上面
注解用途:
    1.使用javadoc生成文档,常用的有@param @return等 

    2.代替配置文件的作用,如:enable**,config ,mybatis,spring等框架的一些设置-采用这种方式可减少配置文件的编写
     
    3.代码重写标志,如:@override 

java注解的底层实现原理

在Java中注解是使用反射实现其功能
Java注解也可以自定义
申明注解和接口非常的类似,
    申明注解类采用@interface关键字

注解类注意事项:
     注解类中,只支持基本类型、String及枚举类型,
      注解类中所有属性被定义成方法,并允许提供默认值
自从java 5.0开始,
在java.lang.annotations中提供了四种元注解,
专门注解其他的注解:
@Target? 注解用于什么地方
TYPE 给类(型)注解
FIELD 给字段注解,不要忘了,字段可以是对象
METHOD 给方法注解
PARAMETER 给参数注解
CONSTRUCTOR 给构造方法注解
LOCAL_VARIABLE 给局部变量注解
ANNOTATION_TYPE 给注解注解(这貌似把自己不当类来看)
PACKAGE 给包注解
@Retention 注解运行状态
SOURCE, 源码状态运行,
CLASS, 编译类文件时运行
Runtime 运行时运行
@Documented 生成说明文档,添加类的解释
@Inherited 允许子类继承父类中的注解
例: 自定一个注解类的示例

/*定义注解类文件 userAnnotation.java*/

package com.java265.helloworld.other;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface userAnnotation {

	String Info() default "java265.com自定义注解测试";
}



/*定义注解使用类 user.java*/
package com.java265.helloworld.other;

@userAnnotation
public class user {

}


/*testMain.java*/

package com.java265.helloworld.other;

import java.lang.annotation.Annotation;

public class testMain {

	public static void main(String[] args) throws ClassNotFoundException {
		// TODO Auto-generated method stub

		Class classTest = Class.forName("com.java265.helloworld.other.user");
		Annotation[] tAll = classTest.getAnnotations();
		for (Annotation t : tAll) {
			userAnnotation t1 = (userAnnotation) t;
			System.out.println(t1.Info());
		}
	}

}

 
--------输出信息------
java265.com自定义注解测试


版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202108/649.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者