import org.test.A;
class B{
  A a=new A();
  boolean test(String X){
    if(a存在X方法)return true;
    return false;
  }
} 这个应该如何实现?

解决方案 »

  1.   

    public Method getMethod(String name,
                            Class... parameterTypes)
                     throws NoSuchMethodException,
                            SecurityException返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。name 参数是一个 String,用于指定所需方法的简称。parameterTypes 参数是按声明顺序标识该方法形式参数类型的 Class 对象的一个数组。如果 parameterTypes 为 null,则按空数组处理。
    试试不知道可以不可以:if(a.getMethod(X)==null){...}
      

  2.   

        public static void main(String[] args) {
            A a = new A();
            System.out.println(test(a, "main"));
        }    public static boolean test(Object cls, String X){
            Method[] names = cls.getClass().getDeclaredMethods();
            for(int i = 0; i < names.length; i++){
                if(names[i].getName().equals(X)){
                    return true;
                }
            }
            return false;
        }
      

  3.   

    a.getClass().getMethod
    楼上的方法好,没有method的时候不会报异常