Java本身没有属性,如果你需要遍历所以内部成员变量可以使用反映java.lang.reflect.*

解决方案 »

  1.   

    //控制台输出,以类java.util.Calendar为例,看它有哪些成员变量
    java.lang.Class myclass = java.lang.Class.forName("java.util.Calendar");
    java.lang.reflect.Field[] cFields = myclass.getFields();
    for (int i=0;i<cFields.length;i++) {
    String fieldName = cFields[i].getName();
    System.out.println("Name="+fieldName);
    }
      

  2.   

    楼上少了取值操作,我补充一下:java.util.Calendar clndr = java.util.Calendar.getInstance();
    Class cls = clndr.getClass();System.out.println(cls.getName());
    java.lang.reflect.Field[] flds = cls.getFields();if ( flds != null )
    {
        for ( int i = 0; i < flds.length; i++ )
        {
            System.out.println(flds[i].getName() + " - " + flds[i].get(clndr));
        }
    }
      

  3.   

    xunyiren(从jsp开始)  你好:如果自己编写的类,像你的方法也可以吗?
      

  4.   

    自定义类也可以的。可以象我那样先new一个对象再getClass,也可以传入类名。
      

  5.   

    也可以得到private的属性名,但是值就得不到了。强行读取,会跑出异常。
      

  6.   

    用这个方法public Field[] getDeclaredFields()