java如何查看某个类中被实例化的对象的名称(列表)?

例:我在运行程序时,通过一个类Test,实例化了三个对象Alpha,Beta,Gamma。有没有某种方法能直接列出由该Test类实例化形成的对象的名称(Alpha,Bet... 例:
我在运行程序时,通过一个类Test,实例化了三个对象Alpha,Beta,Gamma。
有没有某种方法能直接列出 由该Test类实例化形成的对象的名称(Alpha,Beta,Gamma)
还是说没有这种方法,只能在Test类中建立一个列表进行存储?
展开
 我来答
dingnaono
2014-04-14 · TA获得超过436个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:252万
展开全部
不可以,Java的内存是封装不可访问的。虽说Sun写了访问内存的API,但他自己并没有实现。
换句话说,我们不知道内存中已经有了哪些实例化的对象,也就没法完成这个列表功能。

当然你自己实例化的时候建立列表是没有问题的。
jyy200
2014-04-14 · TA获得超过146个赞
知道小有建树答主
回答量:363
采纳率:33%
帮助的人:176万
展开全部
import java.lang.reflect.Field;

Field[] fields = o.getClass().getDeclaredFields();
获得的数组里面存储了你想要的。。
更多追问追答
追问
不是列出Test类里面的域,是把通过这个类声明的对象的名称列出来

对于类Test,在Main方法中实例化三个对象:

Test Alpha=new Test;
Test Beta=new Test;
Test Gamma=new Test;

要求输出"Alpha","Beta","Gamma"
即通过Test类声明的这三个对象的名称
追答
main方法声明三个同一对象的名字。。。然后还要显示出来。。。
我表示我才疏学浅。。。
没办法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东东程序猿
2014-04-14 · TA获得超过724个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:200万
展开全部
有这种方法!他叫做反射技术
追问
。。。能麻烦写个代码说明一下么,谢了,java学得还没那么好
追答
做为一个程序员来说,我掌握的这点技术远远达不到你的要求,因为反射技术是java相对比较高深的技术,普通的程序员都很少掌握。他的强大在于只要有一个字符串,就可以用这个字符串通过反射,反向拿到一个相应的类、属性、对象、方法!很抱歉没能帮上你,不过给你指定了一条路。想学的话可以学一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式