,或者调用getDeclaredFields()方法来获取类的所有属性,包括公共,保护,私有,默认的方法,但是这里有一点要注意的是这个方法只能获取当前类里面显示定义的属性,不能获取到父类或者父类的父类及更高层次的属性的...,所以我们要想获取类的所有属性,还要获取父类的属性:
public static Field[] getAllFields(Object object){ Class clazz = object.getClass...fieldList.size()]; fieldList.toArray(fields); return fields; }
这个方法通过while循环及getSuperClass()方法获取当前类的父类再进行...int b; ClassA ba; public ClassB() { this.ba = new ClassA(); }
乍一眼看上去有很大问题嘛,怎么A是B的父类...异常信息
接下来基本都是这样的情况了,java抛出了栈溢出,从结果中也可以想出这个问题,即A的属性引用了B类,而B的属性又引用了A类,这使得在B类实例化时去初始化A,A又初始化B,就这么陷入了一个死循环