それがなぜなのかわかりません
例えば:
class Test
{
public void someMethod()
{
}
}
その後
Test test = new Test();
なぜ変数の型を書く必要があるので、変数がそのカスタムクラスを割り当てていることがわかったら、それはオーバーフローだと思います)。
ps: これは Java です。私は Java に慣れていません。
それがなぜなのかわかりません
例えば:
class Test
{
public void someMethod()
{
}
}
その後
Test test = new Test();
なぜ変数の型を書く必要があるので、変数がそのカスタムクラスを割り当てていることがわかったら、それはオーバーフローだと思います)。
ps: これは Java です。私は Java に慣れていません。
オブジェクトの型とは異なる、変数の型 (参照) を宣言しています。
たとえば、変数の型はTest
、スーパータイプ ( Object
)、またはTest
実装するインターフェースの可能性があります。どちらを選択するかは、クライアントが初期化されたオブジェクトを参照する方法によって異なります。たとえば、特定のタイプであることを知っている必要があるか、それが特定のインターフェイスまたは機能のサブセットを実装することを知っているだけで十分 (または望ましい) かどうか。
より良い例は次のとおりです。
Animal animal = new Dog();
クライアント コードは、動物を扱っていることしか認識していません。つまり、 method を (たとえば) 呼び出すことはできますが、 a と a の食べ方が異なること.eat()
はわかりません。Dog
Fish
一部の言語 (Scala など) は型推論を実行することに注意してください。つまり、変数の型を宣言する必要はありませんが、その後の変数の使用法からコンパイラが型を決定します。結果のコードはまだ静的に型付けされていますが、コンパイラはより多くの作業を行います。