为啥collection设计成接口,inputstream设计成抽象类呢?

不要嘲讽我,让我自己写一门语言了😁
上面的设计应该有个原因吧,百度也不太清楚,有没有dl可以解释一下

换个思想 接口和抽象类的区别?

collection设计成接口是为了更多的实现,扩展性更强一些
抽象类 主要功能是确定的 比如inputstream就是处理流的作用

问题提炼
面试官:你能说一下抽象类和接口的区别嘛?(主要是想问你什么是接口什么是抽象类)
我:

img

另外我想跟你说,会提问题真的很重要,在百度里面可以解决百分之八十以上的问题。

先来看看接口和抽象类的区别
jdk8之前
接口类似于定义一套规范,方法无实体,只是一个抽象,说大白话就是:但凡你是这样的一个东西,你就得有这些方法。再或者可以用来做标记,也就是一些空接口,里面无任何抽象方法。
抽象类主要提供一些基础方法、通用方法等等,方法可抽象、可有实体,类似于一个模板。说大白话就是:抽象类已经帮你实现好了很多方法了,子类只需要实现部分我没有实现的方法(一般这些方法就是比较特殊的地方,各个子类实现有所不同)。
jdk8及之后
接口和抽象类分界已经没有那么明显了,接口中一样可以定义正常的方法,甚至可以说接口已经成为了一个轻量级的抽象类了。
再来看你的问题,InputStream是jdk1.0就有,Collection是jdk1.2有的,因此对照上述,答案显而易见了。