程序如何得到类中的方法和属性,当然是public的。就好比如何实现在IDE中“xxx.”后面自动出现方法和属性的功能。呵呵,不知道我说清楚了没有,大家帮帮我啊,先谢谢了。

解决方案 »

  1.   

    查看软件包 java.lang.reflect 
    提供类和接口,以获取关于类和对象的反射信息。
      

  2.   

    严重同意楼上。
    reflect是很牛X的东东。
      

  3.   

    用反射
    假设你有类A
    public class A {
    int i;
    String s;
    public void say(){

    }
    }
    要取得A的属性和方法,那么可以这么写
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    public class B { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
    Class c=Class.forName("A");
    Field[] f=c.getDeclaredFields();
    Method[] m=c.getMethods();
    for(int i=0;i<f.length;i++){
    System.out.println("name:"+f[i].getName()+" class:"+f[i].getClass().getName() );
    }
    for(int i=0;i<m.length;i++){
    System.out.println("method name:"+m[i].getName());
    }
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }}
      

  4.   

    public ClassA {
    public void methodA(){
    }
    }当然是new一个实例,然后调用它的方法啊。
    ClassA a=new ClassA();
    a.methodA;
      

  5.   

    嗯,看java.lang.reflect包,
    没错!里面的Method、Field等就是对应类的方法和属性等。
    从任何的一类的class属性里可以get出那些东西来。
    如Method[] ms = System.class.getMethods();就得到了System类所有的方法,
    然后ms[0].getName()之类的就可以得到方法相关的信息。另外,如果想实现IDE的自动提示功能,可以考虑动态编译和加载,
    即对于将编辑的代码动态编译它,再用定制的ClassLoader载入它,
    进而用上面的反射方法(reflect)来进一步处理……^_^
      

  6.   

    java.lang.reflect
    java.lang.reflect
      

  7.   

    谢谢楼上的共享,没有想到JAVA还有如此的用法。