如何使用TypeElement获取所有未实现的方法

时间:2015-06-27 02:08:53

标签: java

我有一个接收TypeElement对象的方法。该对象可以包含接口或抽象类。其中任何一个都可以扩展或实现另一个接口。

如何获取我所拥有的类型元素的所有未实现方法,包括其超类和接口?并确保每个方法只列出一次?

P.S。有时方法在接口中声明,然后在抽象类中再次声明。

情景

abstract class A { ...methods... }
interface B{ ...methods... }`
abstract class A implements B,C { ...methods... }
abstract class A extends B { ...methods... } // B is an abstract class
interface A extends B,C { ...methods... }// B & C are both interfaces

1 个答案:

答案 0 :(得分:-3)

你可以使用Reflection API,例如宝马实现Car,类似它可以是Car的任何实现,下面给出getDeclaredMethods()将给出所有方法,同样getSuperclass()将提供父级许多获取必要细节的方法

public class Reflection {
public static void main(String[] args) {

    Car car = new BMW();
    Class rental = car.getClass();
    try {
        Method[] declaredMethods = rental.getDeclaredMethods();

        System.out.println("Declared Methods are: "

        + Arrays.toString(declaredMethods));

        for (Method dmethod : declaredMethods) {

            System.out.println("method = " + dmethod.getName());

        }

    } catch (Exception e) {

    }
}

}

请告诉我这是否能解决您的问题