List就不能是Set?Unique Index不就是一个既可以当Set又可以当List的东西?
接口和抽象类的本质是因为Java要解决多重继承导致的一系列问题做的一个工程妥协。本来就不是什么is a、has a这种教条主义设计。软件开发是个工程性的问题,目标是解决实际问题,不是理论研究,不是发明一套语言来描述现实世界。
什么万物皆对象?也纯粹是一个工程上的便利罢了……如果不是所有类型都继承于object,那ArrayList这种通用容器就做不了。