0

Report.java をコンパイルしようとすると、6 行目に次のエラーが表示されerror: <identifier> expected aClient.setClientName("Michael");ます。

public class Client {

    private String _clientName;

    public String getClientName(){
        return _clientName;
    }
    public void setClientName(String clientName){
        _clientName = clientName;
    }

}
public class Report {

    Client aClient = new Client();
    //ClientLawn aClientLawn = new ClientLawn();

    aClient.setClientName("Michael");
    //aClientLawn.setLawnWidth(10);
    //aClientLawn.setLawnLength(10);

    public void output(){
        System.out.println(aClient.getClientName());
        //System.out.println(aClientLawn.calcLawnSize());
    }

}

また、私はJavaが初めてなので、優しくしてください。

4

3 に答える 3

3

を使用しinstance initialization blockます。

public class Report {

    Client aClient = new Client();
    //ClientLawn aClientLawn = new ClientLawn();
    {
        aClient.setClientName("Michael");
        //aClientLawn.setLawnWidth(10);
        //aClientLawn.setLawnLength(10);
    }
    ...
}
于 2013-04-10T18:52:31.387 に答える
3

この行は、初期化ブロックに配置する必要があります。

{
    aClient.setClientName("Michael");
}

そのため、作成後に実行されましたaClient

ここのコードは、 のすべてのインスタンスに対して実行されますReport。残念ながら、パラメータを設定することはできません。そうしたい場合は、このブロックをコンストラクターに入れます。

public Report (String clientName) {
    aClient.setClientName(clientName);
    //aClientLawn.setLawnWidth(10);
    //aClientLawn.setLawnLength(10);
}
于 2013-04-10T18:53:22.360 に答える