Java=のクラス内で列挙型を宣言するとき、私はこれらの2つのアプローチを見てきました:
1)
public class MyClass {
private enum MyEnum {
A, B, C;
}
/* Static fields */
/* Instance variables */
/* Methods */
}
2)
public class MyClass {
/* Static fields */
/* Instance variables */
/* Methods */
private enum MyEnum {
A, B, C;
}
}
最も使用されているのはどれですか?これには慣例がありますか?
通常、Javaでは、ネストされたデータ型(クラス、列挙型など)はファイルの下部に配置されます。
ただし、簡単に言えば、投稿したもののようなプライベート列挙型(フィールドのように感じる)の場合は、#1を使用します。
より長い列挙型の場合は、#2を使用するか、別のファイルに入れます。
どちらにも問題はありません。それは意見の問題ですが、私は#1に行きます。
慣例はありませんが、私が見たところ、例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
にアクセスできます。