0

我有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的超类。请提供解决方案。

4

1 回答 1

0

您可以调用getSuperClass()以获取对象的超类Class

于 2013-04-26T13:41:12.393 回答