0

これが非常に初歩的な質問である場合はお詫びしますが、最近Javaを学ぼうとしていて、戻り値の型の概念を受け入れるのが難しいと感じています-私はそれらに正義を見つけることができないようです. ただし、元の int 戻り値の型から逸脱し、メソッド/関数が返すことができるものを広げる方法がここにありました。ただし、その理由はまだよくわかりません。これには機能的な理由がありますか? つまり、コードの一部の行で何かを返すように定義されている場合、インタープリターは単純に何かを返すことができないのはなぜですか。

4

4 に答える 4

6

Javaは明らかに静的に型付けされた言語であるため、「Javaに型推論がない理由」という暗黙の質問があると思います。したがって、戻り値の型はコンパイル時に既知である必要があります。

それに対する答えとして、Scala の型推論を調べることができます。それは本当に、本当に複雑で厄介であり、最終結果は依然として不安定です。Java は単純なアプローチを取りました:型推論はありません。これは、Java が「ブルーカラー言語」になるという宣言された設計目標とも一致しています。明示的な型付けは、スキルの低い開発者にとってより明白で簡単です。

記録として、「Java インタープリター」について言及していることに気付きました。これは、Java を動的なインタープリター言語と間違えていることを示しています。Java はコンパイル済み言語です。

于 2012-10-16T11:05:25.080 に答える
5

1 つには、Java は静的に型付けされるため、戻り値の型を知らなければ、関数の応答を変数に割り当てることができません。

また、機能をある程度自己文書化します。

多くの機能については、null返すこともできます。

于 2012-10-16T11:04:31.703 に答える
3

これは、実行時ではなくコンパイル時にさらにいくつかのエラーをキャッチするための設計上の選択です。

于 2012-10-16T11:05:04.747 に答える
2

戻り値の型は、型の安全性を強化するのに役立ちます。

于 2012-10-16T11:06:49.477 に答える