$ javap T.class
Compiled from "T.java"
public final class io.zhudy.web.T extends java.lang.Enum<io.zhudy.web.T> {
public static final io.zhudy.web.T E1;
public static final io.zhudy.web.T E2;
public static io.zhudy.web.T[] values();
public static io.zhudy.web.T valueOf(java.lang.String);
static {};
}
上面这段代码编译后如下:
可以发现常量最后实际都是被编译为静态变量了,Java中静态变量都是存储在
Method Area
。Java の静的変数は、最終的には実際に静的変数にコンパイルされ、
メソッド領域
に格納されることがわかります。 🎜 🎜 🎜シングルケースモード
の目的は、メモリ内に🎜インスタンス🎜が1つだけ存在し、列挙値
が数を制御するのに十分なだけ🎜固定🎜であることを保証することです。インスタンスの目的 🎜 🎜シングルトンを実装するための従来のclass
の使用とenum
の違いは、class
の使用にはconstructor
へのアクセスが必要であることです。レベルがprivate
に設定されている場合、reflect
によるアクセス制御🎜オブジェクトの作成🎜を回避するには、次のように追加の処理を行う必要があります:🎜 🎜 リーリー