代码之家  ›  专栏  ›  技术社区  ›  ALOToverflow

Java的枚举…它们是在哪里创建的?

  •  8
  • ALOToverflow  · 技术社区  · 14 年前

    由于C语言中的enum在堆栈上,我想知道enum在Java中是在哪里创建的。在堆栈上?在堆上?在另一个神秘的地方?

    C#中的枚举比Java中的枚举更原始,这可能解释了为什么它们是在堆栈上创建的。。。

    他们在哪里?我找不到他们!

    4 回复  |  直到 14 年前
        1
  •  9
  •   Nikita Rybak    14 年前

    Java中的枚举也是对象:例如,枚举可以有实例变量/方法/构造函数和实现接口。所有这些让我觉得它们就像jvm处理其他对象一样。

        2
  •  6
  •   duffymo    14 年前

    extend java.lang.Enum ,它们像所有其他Java对象一样在堆上创建。

        3
  •  2
  •   Jay    14 年前

        4
  •  2
  •   Tom Hawtin - tackline    14 年前

    枚举是Java中的对象,所以它们在堆上。但是,对于每种类型,它们只有固定数量。 客户端代码正在处理引用