理解しようとしている次のコードがあります。
public class A {
enum Size {S, M, L };
Size size = Size.M;
}
最初の列挙行が 3 つの値を持つ列挙型を作成していることは理解していますが、2 行目は何をしているのですか? 変数サイズは何を保持しますか?これは列挙型を構築する別の方法ですか?
理解しようとしている次のコードがあります。
public class A {
enum Size {S, M, L };
Size size = Size.M;
}
最初の列挙行が 3 つの値を持つ列挙型を作成していることは理解していますが、2 行目は何をしているのですか? 変数サイズは何を保持しますか?これは列挙型を構築する別の方法ですか?
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;
}
}
列挙型は型です (クラスが型であるように)。2 行目は、Size という型を持つインスタンス変数 size を作成しています (列挙型は型であるため)。次に、そのインスタンス変数の値を列挙型 Size のインスタンス (具体的には Size.M インスタンス) に初期化しています。
Size
2 番目の類似点は、クラスで型のパッケージ プライベート メンバー変数を宣言し、A
それを .xml を指すように初期化することSize.M
です。