首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java类中的私有枚举位置

Java类中的私有枚举位置
EN

Stack Overflow用户
提问于 2013-10-12 19:10:39
回答 4查看 47.6K关注 0票数 21

在java类中声明枚举时,我看到了以下两种方法:

1)

代码语言:javascript
复制
public class MyClass {

    private enum MyEnum {
        A, B, C;
    }

    /* Static fields */

    /* Instance variables */

    /* Methods */
}

2)

代码语言:javascript
复制
public class MyClass {

    /* Static fields */

    /* Instance variables */

    /* Methods */

    private enum MyEnum {
        A, B, C;
    }
}

哪一个是最常用的?这有什么约定吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-12 19:21:13

在Java中,嵌套数据类型(例如类、枚举)通常位于文件的底部。

然而,简单地说,像你发布的那种私人声明(感觉更像是字段),我会选择#1。

对于更长的枚举,我要么使用#2,要么将它们放在单独的文件中。

票数 24
EN

Stack Overflow用户

发布于 2013-10-12 19:16:45

没有使用任何约定,但据我所见,示例1的使用频率更高。我个人也是这么放的。

票数 0
EN

Stack Overflow用户

发布于 2013-10-12 19:18:42

Java没有typedef语句(如C和C++中的那样)。要在Java中声明新类型,您可以声明一个新类;然后可以声明变量为该类的类型。另外,Java使用转发引用(),java编译器比C编译器更聪明,因为它允许在定义方法之前调用它们。这消除了在程序文件中定义函数之前在头文件中声明函数的需要,就像在C中所做的那样。

我可以把我的enum放在任何地方,也可以从任何地方访问它。请参考例子。

代码语言:javascript
复制
class CheckEnum{

    private void method1() {
        System.out.println(enumTest.test1);    
    }       
    private enum enumTest{
        test1
    }       
    private void method2() {
        System.out.println(enumTest.test1);
    }
}

我已经检查过了,method1method2方法都可以访问enumTest

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19338112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档