Java中类内的私有枚举位置
在java中在类内声明枚举时,我见过以下两种方法: (一) (二)Java中类内的私有枚举位置,java,enums,inner-classes,Java,Enums,Inner Classes,在java中在类内声明枚举时,我见过以下两种方法: (一) (二) 哪个最常用?有什么约定吗?没有任何约定用于此,但从我所看到的情况来看,示例1更常用。我个人也是这样放置的。Java没有typedef语句(如C和C++)。要在Java中声明新类型,需要声明一个新类;然后可以将变量声明为该类的类型。Java还使用了前向引用,Java编译器比C编译器更聪明,因为它允许在定义方法之前调用方法。这消除了在程序文件中定义函数之前在头文件中声明函数的需要,就像在C中那样 我可以将我的enum放在任何地方,也
哪个最常用?有什么约定吗?没有任何约定用于此,但从我所看到的情况来看,示例1更常用。我个人也是这样放置的。Java没有
typedef
语句(如C和C++)。要在Java中声明新类型,需要声明一个新类;然后可以将变量声明为该类的类型。Java还使用了前向引用,Java编译器比C编译器更聪明,因为它允许在定义方法之前调用方法。这消除了在程序文件中定义函数之前在头文件中声明函数的需要,就像在C中那样
我可以将我的enum
放在任何地方,也可以从任何地方访问它。参考示例
class CheckEnum{
private void method1() {
System.out.println(enumTest.test1);
}
private enum enumTest{
test1
}
private void method2() {
System.out.println(enumTest.test1);
}
}
我已检查,方法
method1
和method2
都可以访问enumTest
通常在Java中,嵌套数据类型(例如类、枚举)位于文件的底部
不过,简而言之,对于像您发布的私有枚举(感觉更像字段),我会选择#1
对于较长的枚举,我要么使用#2,要么将它们放在单独的文件中。它们都没有问题。这更多的是一个意见问题,但我还是会去#1。如果你换一种说法,有什么问题吗?@Rupesh我只是想知道这是否有一个惯例,或者这是一个个人偏好的问题。不,一点也不,为了更安全。
我不知道。
。请参考下面的答案。我更喜欢第一个答案。在使用它们之前,我更喜欢声明enum
等。
public class MyClass {
/* Static fields */
/* Instance variables */
/* Methods */
private enum MyEnum {
A, B, C;
}
}
class CheckEnum{
private void method1() {
System.out.println(enumTest.test1);
}
private enum enumTest{
test1
}
private void method2() {
System.out.println(enumTest.test1);
}
}