【发布时间】:2015-06-26 20:42:42
【问题描述】:
我有一个类 DB,其中包含一个列表:
private List<User> users;
以及允许将用户添加到列表中的 addUser 方法
public User addUser(String name) {
另一个类User,需要创建User类的实例,所以我尝试使用以下代码:
public User(String name) {
DB.addUser(name);
但它返回的错误是我无法对非静态方法进行静态引用。我很茫然,因为要创建 User 类的实例,我必须将它放入列表中,但由于列表是私有的,我必须使用 DB 的方法,但我不能这样做没有得到错误...有什么办法可以解决这个问题吗?
【问题讨论】:
-
能否将 DB 中的
addUser函数设为静态? -
@RishavKundu 那没有意义。这显然是一种改变状态的方法。
-
你需要创建一个DB实例,或者将addUser设为静态
-
为什么不向DB添加一个getUsers()方法,将ref返回给List
,然后调用getUsers().add(new User(someName)); -
亚瑟,
addUser到底是做什么的?将其代码添加到您的问题中。