我有以下代码,我想了解:
public class A {
enum Size {S, M, L };
Size size = Size.M;
}
我理解第一个枚举行是创建一个包含三个值的枚举,但第二行是做什么的?变量大小将保持什么,这是构建枚举的另一种方式?
答案 0 :(得分:6)
第二行只是给A类实例的字段size
(类型Size
)初始值Size.M
。
你可能会因为enum是在类A
中创建的事实而感到有点不安,它本来可以在另一个文件中(但如果仅使用它,将它放在A类中是完全可以的。有)。
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;
}
}
答案 1 :(得分:0)
第二种方法是在类Size
中声明类型为A
的包私有成员变量,并将其初始化为指向Size.M
。
答案 2 :(得分:0)
枚举是一种类型(就像类是一种类型)。第二行是创建一个名为size的实例变量,其大小类型(因为枚举是一种类型)。然后它将该实例变量的值初始化为枚举大小的实例(特别是Size.M实例)。