文章会有【原创】或者【转载】标示,部分来自Google Baidu的学习结果 {Java/PHP/Python/Ruby/Go}

Java 在学习四十六【原创】  


注解:元数据》修饰数据的数据

1):类的注解通过 Class

2):方法的注解通过Method

3):成员的注解通过Field

package ioJava;


import java.lang.annotation.ElementType;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;


/*

 * 定义注解的时候一定要说明注解修饰给谁的?

 */

//@Target(ElementType.TYPE)

@Target(value={ElementType.TYPE})

/*

 * 定义注解的时候一定要指明注解什么时候有效

 */

@Retention(RetentionPolicy.RUNTIME) // 省略了value

public @interface An {

// String desClass();

String value() default "hello";

int[] testArray();

}




package ioJava;


public class Test21 {


public static void main(String[] args) {

Class<User> c = User.class;

System.out.println(c.isAnnotationPresent(An.class)); // 获取是否有An注解

An an = (An) c.getAnnotation(An.class); // 注解的实例化

// System.out.println(an.desClass()); // 获取注解的数据

System.out.println(an.value()); // 获取注解的数据

int a[] = an.testArray();

for (int v : a) {

System.out.println(v);

}

}


}


// @An(desClass = "这是测试")

@An(value = "这是测试", testArray = { 1, 2, 3 })

class User {

private String name;

private int age;


public String getName() {

return name;

}


public void setName(String name) {

this.name = name;

}


public int getAge() {

return age;

}


public void setAge(int age) {

this.age = age;

}


}