質問: new ArrayList<>(); ``` というコードが出てきて、なぜListのListはArrayListではないのかとおもいます。 ArrayListクラスを呼び出しているのだから、型はArrayListではないのでしょうか?
回答: ArrayListはListインタフェースを実装しているため、List型としても扱うことができるのです。 このような使い方はポリモーフィズムという考え方に基づいたものになります。最初のうちはメリットが見出しにくいとは思いますが、「インタフェース型の変数で扱ったほうが都合がいい」程度の理解で十分だと思います。