Java List vs ArrayList
generics, java
Solution
`List` is an interface, somewhat like a class with some `= 0` methods in C++. You can't instantiate it.
But `ArrayList<T>` "inherits" `List<T>` (or in Java terms, implements it), so those references are assignment-compatible.
Problem
As a C++ oldtimer I have managed to solve my problem but I can not wrap my head around the underlying Java mechanisms here: ``` Vector<Object> x = new Vector<Object>(); // OK ArrayList<Object> y = new ArrayList<Object>(); // OK List<Object> zzz = new ArrayList<Object>(); // OK solves problem below but question remains List<Object> z = new List<Object>(); // WHY? Compiler error: Cannot instantiate ```