java中如何遍历一个类的所有对象?

今天看到一个循环for(Objecto:numbers),他可以遍历numbers这个变量所含的所有对象,但当我把numbers改成一个类的时候就会出错,请问可不可以通过... 今天看到一个循环for(Object o: numbers),他可以遍历numbers这个变量所含的所有对象,但当我把numbers改成一个类的时候就会出错,请问可不可以通过for语句遍历一个类的所有对象,不用for也行 展开
 我来答
ylongshao1987
推荐于2018-09-06 · TA获得超过9811个赞
知道小有建树答主
回答量:1277
采纳率:100%
帮助的人:710万
展开全部
你这里的numbers是一个对象数组,所以你可以这样遍历,单个对象是不行的。遍历对象内部成员,在反射里面有方法,我刚练习完,只有将对象的成员分解到数组中才行。分享给你了:
Class c=Class.forName("AbstractClassTest.Car"); //要包名+类名
Object o=c.newInstance();
Car car=(Car)o;
Field[] fields=c.getDeclaredFields();//拿到数据成员
Method[] methods=c.getMethods();//拿到函数成员
/*System.out.println(fields.length);
System.out.println(methods.length);*/
for(Field f : fields){
System.out.println("该类的内部变量有:"+f.getName());
}
for(Method m : methods) {
System.out.println("该类的方法有:"+m.getName());
}
SkyerTu
2010-12-01 · TA获得超过1822个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:1188万
展开全部
什么叫做遍历一个类的所有对象?

如果要查找当前运行环境下一个类的所有对象实例,这个功能是无法用java语言来完成的。只有部分虚拟机可以输出当前内存下所有对象实例,这也仅仅是为了调试(Profile)。

如果是遍历指定对象实例的所有对象属性?这个得用反射来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dmworld_2012
2010-12-02
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
用 apache BeanUtils 包中的一个 BeanMap 的类,这个类可以把一般的
JAVABean 中属性和 属性值 转化到 一个Map 中。到时候 你就可以利用 for 循环调用了。

BeanMap map = new BeanMap(you_Class_Instance);
for(String key:map.keyset()){
map,get(key);//key 是属性,map.get(key) 是属性值。
}
先要去找到 BeanUtils的包才能用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-12-01
展开全部
JAVA反射机制定义:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
找找这方面的资料,应该就是你要的结果。

参考资料: 百度百科

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangqin_mccn
2010-12-01
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
右边的numbers这个对象的类型必须是一个集合,普通类肯定是不行的,得到类的全部对象?你应该是对于类和对象搞得不清楚或者你表达的有问题。建议你好好研究一下基础,主要是我来做任务就地一个找到你的了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式