2012-03-17 5 views
4

私はJavaでコードを書いていましたが、不都合なことに、をBaseStationクラスのコンストラクタとして入力しました。私の驚いたことに、これはコンパイル時のエラーを引き起こさず、プログラムが実行されました。何故ですか?誰かがコンストラクタに戻り値の型を持たせる理由はありますか?コンストラクタで戻り値の型を宣言してもコンパイルエラーは発生しません

+2

通常の方法になります。 –

+0

なので、クラスと同じ名前を共有するクラスのメソッドを持つことは有効ですか? – nikos

+3

これは完全に合法です。それは本当に悪いスタイルです。 –

答えて

7

戻り値の型を指定すると、コンストラクタではなくメソッドになります。

2

いいえ、コンパイラは、BasedStationというメソッドを記述していると考えて、コンストラクタとして解釈しません(クラスの名前と同じ名前のメソッドを持つことはできません) 。

-1

これはJavaのオーバーロードの一種です。また、メソッドのパラメータを変更してオーバーロードすることもできます。

関連する問題