0

クライアント オブジェクトを作成しました。情報クライアント オブジェクトを格納する配列リストを作成したいと考えています。

コードの場所: Client.java

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

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

コードの場所: Client Handling.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 はクラスであるため Client.getClientInfo() は静的呼び出しであるため、問題が発生します。

したがって、コードは次のようになります。

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

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

コードの場所: Client Handling.java

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

client.getClientInfo().add(c);

最後に、c と client のインスタンスをどこに作成しますか?

于 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()関数を にする必要がありますstaticClientInfoそして、同時に静的も作成します。

于 2013-01-19T12:02:09.340 に答える