0

理解しようとしている次のコードがあります。

public class A {    
    enum Size {S, M, L };  
    Size size = Size.M; 
} 

最初の列挙行が 3 つの値を持つ列挙型を作成していることは理解していますが、2 行目は何をしているのですか? 変数サイズは何を保持しますか?これは列挙型を構築する別の方法ですか?

4

3 に答える 3

6

The second line is just giving to the field size (of type Size) of the instance of class A the initial value Size.M.

You may be a little disturbed here by the fact that the enum is created inside the class A, it could have been in another file (but it's perfectly OK to put it inside the class A if it's used only there).


EDIT (not really part of the answer) : here's a (not pretty) exemple of enum declaration so that you can better understand the form of an enum declaration :

public enum QueryError {

    no_request("no_request", "No request in client call"),
    no_alias_requested("no_alias_requested", "no alias requested"),
    session_not_found("session_not_found", "wrong session id"),
    synosteelQuery_not_found("sxxx_not_found", "sxxx not found");

    public JsonpServerResponse.Error error;

    private QueryError(String type, String details) {
        this.error = new JsonpServerResponse.Error();
        this.error.type = type;
        this.error.detail = details;
    }
}
于 2012-06-15T16:35:14.360 に答える
0

列挙型は型です (クラスが型であるように)。2 行目は、Size という型を持つインスタンス変数 size を作成しています (列挙型は型であるため)。次に、そのインスタンス変数の値を列挙型 Size のインスタンス (具体的には Size.M インスタンス) に初期化しています。

于 2012-06-15T16:37:41.863 に答える
0

Size2 番目の類似点は、クラスで型のパッケージ プライベート メンバー変数を宣言し、Aそれを .xml を指すように初期化することSize.Mです。

于 2012-06-15T16:36:19.687 に答える