我有A1班。A1 类扩展 A2,A2 扩展 A3。我有 2 个注释 @t1、@t2,它们在所有 3 个类中都声明了。如果我使用这样的方法来访问注释:
public void checkAnnotation(Object s1, Object d1) {
Field[] field1= source.getClass().getDeclaredFields();
for (Field field : field1) {
if ((!Modifier.isStatic(field.getModifiers()) && field.isAnnotationPresent(t1.class))
|| (!Modifier.isStatic(field.getModifiers()) && field.isAnnotationPresent(t2.class))) {
t1 tx= field.getAnnotation(t1.class);
t2 tc = field.getAnnotation(t2.class);
if (((tx!= null) && (tx.isread())) || (tc!= null)) {
try {
field.setAccessible(true);
Object attributeValue1 = field.get(s1);
field.set(d1, attributeValue1);
} catch (Exception e) {
e.printstackTrace();
}
}
}
}
如何获得超类声明的字段。?在这个例子中,我只能为 s1 类获得它。不是s1的超类。请提供解决方案。