关于java的一个问题

gointosusnet 2013-03-27 03:01:14
在编程中,我遇到这样的情况:
我有一个类A中有B1和B2属性,B1属性中有个C11和C12属性.B2中有C21和C22属性.
--A
|--B1
| |--C11
| |--C12
|
|--B2
| |--C21
| |--C22
现在我C21要操作C11的当前实例,我要一层一层的获取(就是先获取A然后往下获取到C11).
这样感觉很麻烦,是不是我代码写的有问题.
比如我有个JFrame 下有个JDesktopPane,JDesktopPane下有两个JInternalFrame,第一个JInternalFrame有一个JPanel panel1.第二个JInternalFrame下有一个JPanel panel2.panel2上获取事件后,我要操作panel1.这就要一层一层的拿到实例,(如果panel1是个单例,就可以轻松拿到了.但是不是的话有,没有什么好主意,或者是我代码设计的问题....求解释下)
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
steely_chen 2013-05-17
  • 打赏
  • 举报
回复
引用 5 楼 oh_Maxy 的回复:
面向对象的思想,最好还是一层层的get。如果一概放map里,破坏了层次结构,使用map的时候,结构关系不明确,有隐患。
原结构还是一样,使用map只是为了便利获取。就像html elemnent 一样,可能通过id获取当前页面的所有对象
oh_Maxy 2013-05-17
  • 打赏
  • 举报
回复
面向对象的思想,最好还是一层层的get。如果一概放map里,破坏了层次结构,使用map的时候,结构关系不明确,有隐患。
_VV_ 2013-05-17
  • 打赏
  • 举报
回复
楼上可以有~~~
steely_chen 2013-05-17
  • 打赏
  • 举报
回复
为每个对象设置一个id , 将把对像的地址存到A对象中。 例: 在A中添加一个Map<String,Object> map map.put("B1",B1) map.put("C11",C11) map.put("C12",C12) map.put("B2",B2) map.put("C21",C21) map.put("C22",C22) 想要取哪个对象直接从map中根据id来取
关键我是洛哥 2013-05-17
  • 打赏
  • 举报
回复
如果照当前的设计那是必须这样取啊 没有别的办法啊
一缕青烟 2013-03-27
  • 打赏
  • 举报
回复

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧