如果我想创建一个将人员添加到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. 访问私有类变量Java
- 3. 从其他类访问私有成员
- 4. 在子类中访问私有变量
- 5. 如何从java中的其他类访问私有类内部变量的变量?
- 6. 类中的私有变量可以从Java中的main访问?
- 7. 访问类C++的私有变量
- 8. Java继承 - 访问私有变量/ getClass()
- 9. java中私有成员变量的子类访问
- 10. GHUnit访问私有变量
- 11. PHP私有变量访问
- 12. WP7 - 访问私有变量
- 13. 访问私有变量
- 14. (C++)从私有基类访问私有成员变量
- 15. 访问PHP中的私有变量(PDO)
- 16. 未定义访问成员变量的访问权限(公有或私有)
- 17. 类访问其他类的私有领域
- 18. 通过javascript中的私有方法访问私有变量
- 19. Java匿名类和可访问私有变量
- 20. 访问其他类的变量
- 21. 访问其他公共类的变量
- 22. cplex从其他类的变量访问
- 23. 访问其他类的变量
- 24. Objective C访问其他类的变量?
- 25. 其他类的访问变量
- 26. 获取其他类的访问变量
- 27. 访问其他类中的多个对象的私有成员向量
- 28. 访问此ActionPerformed的私有“Nombre”变量?
- 29. 访问两个私有类的值java
- 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