JAva注釈の例(注釈を使用してオブジェクトに値を割り当てる)
1594 ワード
java 注記の例
注記結合反射を使用すると、インスタンスオブジェクトに値を割り当てることができます.
*******************************
例
*********************************
コンソール出力
注記結合反射を使用すると、インスタンスオブジェクトに値を割り当てることができます.
*******************************
例
@Retention(RetentionPolicy.RUNTIME)
@interface D{
String value() default "";
}
class Person{
private String name;
private Integer age;
public String getName() {
return name;
}
@D(" ")
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
@D("24")
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return this.name+" "+this.age;
}
}
public class MyTest4 {
public static void main(String[] args) throws Exception {
Class> c=Class.forName("hello3.Person");
Person person=(Person)c.getDeclaredConstructor().newInstance();
Method nameMethod=c.getDeclaredMethod("setName", String.class);
if (nameMethod.isAnnotationPresent(D.class)){
D d=nameMethod.getAnnotation(D.class);
nameMethod.invoke(person,d.value());
}
Method ageMethod=c.getDeclaredMethod("setAge", Integer.class);
if (ageMethod.isAnnotationPresent(D.class)){
D d=ageMethod.getAnnotation(D.class);
ageMethod.invoke(person,Integer.valueOf(d.value().toString()));
}
System.out.println(person);
}
}
*********************************
コンソール出力
24