私はソフトウェア開発者の立場でこのインタビューに行きました。彼らは私にいくつかのコーナーケースコードの状況をテストしました。
質問の1つにenumがクラススコープ外で宣言されていましたが、すぐに「コンパイルできません」という回答をチェックし、他の質問に進みました。このコードは、実際にコンパイルクラスのスコープ外に宣言された列挙型
enum Colors {BLUE,RED,GREEN}
class Test {
//other code, not really important with my question
}
: それはのようなものでした。
このようなインタビューが良い開発者であるかどうかを調べるのに役立たないかもしれないという事実の他に、私が心配しているのは、なぜこのようなenumを宣言するのだろうか?なぜ私は列挙型でこれを行うことができますか? 私はいくつかのテストを行い、それがクラス内では見えるが他のクラスでは見えないことを発見しました。
サイドノート:私は本当に貧しい人々を獲得しました。私は理論を最大にしましたが、コーナーケースコードの状況では可能な限り近くでした。私は仕事を得るとは思わない。
ファイル内だけでなく、同じ名前空間内の他のクラスからも可視になります。 BCLのほとんどの列挙型は、あなたが提供した例のように、クラス外で宣言されています(ただし、それらは公開されています)。 なぜこのようなenumを宣言しないのですか? – Groo
javaアクセスコントロールで作業していて、クラスがpublic class A {private Stringフィールドの100%ではないことを確認すると便利です。パブリックメソッド(){}}。 –
@Groo:はい、もちろんそれは –