我读到InputStream
类,它是所有字节流输入类的超类,是一个抽象类,它由其他特定的字节流输入类继承。但是,我还读到 java.lang.System 中有一个对象引用了标准输入流,我们称之为java.lang.System.in
和该对象实例化类InputStream。
在Sun API文档中,“in”定义为:
public static final InputStream in
但我知道抽象类无法实例化。我误解了什么吗?
答案 0 :(得分:1)
变量"在"中,这里只包含一个对象的引用,该对象可以满足"是一个InputStream"的要求。这意味着变量" in"可以保存扩展InputStream的具体类的任何instante,例如AudioInputStream,它满足条件"是一个InputStream"。它与我认为的多态性相关的东西