如果我想创建一个将人员添加到List的表单,我如何从另一个类访问该List?我在哪里定义该列表,以便其他类可以访问成员,大小等?例如,如果我有具有用于我的表单的GUI的Class Foo,以及用于向List添加和删除人员的按钮,那么将List声明为Class Foo的私有实例变量是有意义的。但是,如果我有另一个类Class Bar,它如何获取当前在该List中的值来更新其他图形组件?或者是一般地声明List的错误地方?谢谢。有权访问Java中其他类的私有变量
回答
其他班级不应该触摸列表。他们应该向Foo询问关于该列表的信息,此时Foo可以与其私人列表交谈。
你不应该让他们直接访问私有变量(实际上外部类甚至不会看到它)。
要给/修改列表信息,Foo类应该有方法与私有列表进行交互。例如,你可以有一个名为getSize()的方法,它将返回列表的大小。
我假设在第一句中有'没有'缺失 – 2010-06-10 04:46:15
你说得对。我做了改变。 – Pran 2010-06-10 15:19:53
在最简单的情况下,使用一个getter函数:
然后其他对象可以直接在列表上进行操作。更面向对象,包列表访问方法在你的对象,并不会直接返回列表对象,如:
Object getItemFromList (int i) { return list.get(i); }
正如我在my answer to your previous question说,我不认为数据的列表所属在gui组件中。我认为你应该有一个应用程序核心,一个服务,如果你想,你可以使用gui组件,而不需要耦合两者。
这样就可以在不更改核心应用程序代码的情况下创建Web客户端,命令行客户端,SWT客户端等。你只需写一个新的GUI并在那里注入服务。一个GUI应该可以访问服务,但不能成为一个。
- 1. 访问java中其他类的私有变量
- 2. 从其他类访问私有成员
- 3. 如何从java中的其他类访问私有类内部变量的变量?
- 4. 类中的私有变量可以从Java中的main访问?
- 5. 访问类C++的私有变量
- 6. PHP私有变量访问
- 7. 访问私有变量
- 8. 未定义访问成员变量的访问权限(公有或私有)
- 9. 通过javascript中的私有方法访问私有变量
- 10. 其他类的访问变量
- 11. Objective C访问其他类的变量?
- 12. 访问其他类中的多个对象的私有成员向量
- 13. 通过反射访问Java中的私有变量
- 14. 如何访问其他模板类实例的私有成员?
- 15. 从其他类访问int变量
- 16. 从其他类访问变量
- 17. 如何通过其他变量从java类访问常量?
- 18. 如何访问C++/CLI管理类中的私有变量
- 19. 调用Parent方法并访问父类中的私有变量?
- 20. 如何使const C++类访问所有其他类的私有成员
- 21. 如何访问私有变量?
- 22. 访问私有变量对象
- 23. 发送允许访问私有变量
- 24. 关于访问私有成员变量
- 25. 访问一个私有变量
- 26. 如何访问私有变量
- 27. 访问其他类中对象的最有效的做法:Java
- 28. 派生类访问基类私有变量时出错
- 29. C#如何从Main()中访问私有类变量并将其公开化?
- 30. 访问私有变量的Java静态方法
你能举一个例子说明如何工作吗?我想我很困惑,因为我只声明了一个Foo类型的对象,然后如果我有一个返回List大小的函数,我将不得不从Bar类创建一个新对象来使用成员函数getSize right ? – Crystal 2010-06-10 04:37:40
为什么Bar不会使用Foo的现有实例? – 2010-06-10 04:41:32
Bar如何使用在另一个类中创建的实例? – Crystal 2010-06-10 04:46:46