0

我创建了一个客户端对象,我想创建一个存储信息客户端对象的数组列表。

代码位置:Client.java

ArrayList<Client> ClientInfo = new ArrayList<Client>();

public ArrayList<Client> getClientInfo() {
    return ClientInfo;
}

代码位置:客户端处理.java

c.setClientId(Client.getClientInfo().size());

    Client.getClientInfo().add(c);

ClientHandling.java 错误:

http://vvcap.net/db/ncilHaCfjUY6JeszCnWJ.png

http://vvcap.net/db/ySzyKvM2qT9mu7pqBCmZ.png

有任何想法吗?

编辑:我的客户处理类不是静态的!这就是我遇到的问题。它不是静态的,出于某种原因,它告诉我它是静态的。

4

3 回答 3

2

您使用了错误的语法。在 Java 中,类名以大写字母开头,变量名以小写字母开头。如果您使用 Client 作为变量名并且 Client 也是一个类,那么您就会遇到问题,因为 Client.getClientInfo() 是一个静态调用,因为 Client 是一个类。

所以你的代码应该是这样的:

ArrayList<Client> clientInfo = new ArrayList<Client>();

public ArrayList<Client> getClientInfo() {
    return clientInfo;
}

代码位置:客户端处理.java

c.setClientId(client.getClientInfo().size());

client.getClientInfo().add(c);

最后,您在哪里创建 c 和客户端的实例?

于 2013-01-19T12:07:36.843 回答
1

getClientInfo()是一个非静态方法,您正试图从静态方法调用它。您需要创建 getClientInfo() 所在类的实例并对该实例进行调用。

public static void someMethod() {
Client c=new Client();
c.setClientId(c.getClientInfo().size());
    c.getClientInfo().add(c);
}
于 2013-01-19T12:02:26.560 回答
0

Client是类。您必须使getClientInfo()函数成为static. 当你在做的时候,也要制作ClientInfo静态的。

于 2013-01-19T12:02:09.340 回答