A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

inputStream 是一个abstract类,
in是成员变量,定义static final inputStream in = null;
read()是abstract方法。

在main方法中使用
InputStream is = System.in;
is.read();
为什么不报错呢?

4 个回复

倒序浏览
父类引用指向子类对象,名字叫什么
回复 使用道具 举报
没懂static final inputStream in = null;这句话是什么意思。
回复 使用道具 举报
抽象类(或接口) a=new 子类();
这不就是典型的多态的定义么,你这里System.in是一个InputStream的子类,重写了父类(或接口)里的方法。
回复 使用道具 举报
这里用到了多态,也就是在程序运行到相关代码时才知道没对象所属的类,当调用重载方法时,对象所属的真正类的方法会执行,这就是in.read()没有错误的原因,System.in重写了read()方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马