Java 将类对象转换为超类

时间:2021-07-08 22:30:43

标签: java

所以我得到了一个方法来获取一个包中的所有类,并且我有一种方法来测试一个类是否被扩展为一个特定的类

   for (Class c : classes) {
            System.out.println("Class: " + c);
            if (c.getSuperclass().equals(SpecielClass.class)) {
                System.out.println(c + " is SpecielClass");
            }
        }

但是现在,我如何从 c 中获取“SpecielClass”方法?如果这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以从 SpecielClass 对象获取 SpecielClass.class 方法。

(由于 c 的每个实例都是一个 SpecielClass,您可以在 invoke 的实例上c 这些方法)。

还值得注意的是,c.getMethods() 将包含从超类继承的方法(无论它们是否在子类中被覆盖),而 c.getDeclaredMethods() 将仅获取在类 {{1} 中声明的方法},但不是从超类型继承的那些。