私は、静的に型指定されているプログラミング言語の利点を理解しようとしています。それを通して、なぜ型を宣言に含める必要があるのでしょうか?タイプを明示的にするのではなく、目的に合っていますか?この場合、私はその点を見ません。私は静的な型指定はコンパイル時に型チェックを可能にすることを理解していますが、明示的な型宣言を省略すると、Javaはコンパイル時に型を推測できませんか?静的型付き言語で型の宣言が重要なのはなぜですか?
例えば、我々はJavaで持っているとしましょう:
myClass test = new myClass();
は、ここでは、不要な型宣言はありませんか?私が間違っていない場合、これは静的バインディングであり、Javaはtest
がタイプmyClass
であることを知っておく必要があります。コンパイル時でも型の明示的な宣言はありません。
重複する可能性への応答:これは、静的型と動的型に関する質問ではなく、受け入れられた回答で説明されている静的型付き言語の型推論に関するものです。
'クラスBは拡張A '、' AはA =新しいB() 'でしょうか?コンパイラは 'a'の型をどのように推測すべきですか? – gefei
@femtoRgonこの質問は、静的型付き言語の型推論、動的型付き言語の型推論に関するものです。 – yshavit
申し訳ありませんが、*動的に型付けされた言語に関するものではありません。 :) – yshavit