在声明指向专用类型实例的类类型变量时,对象类型由实例化而不是声明确定。例子:
Object o = new ArrayList<>();
if(o instanceof ArrayList)
System.out.println("ArrayList it is!");
所以,ArrayList 只能使用 Object 的方法和属性,在这种情况下,即使我向下转型。ArrayList 怎么可能只实现部分实现,如果将类型设为 Object 不是更有意义吗?
另外,为什么可以在没有通用声明的情况下使用菱形推理?