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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴振良 黑马帝   /  2012-2-11 19:24  /  1935 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 戴振良 于 2012-2-14 00:50 编辑

今天学习了一个视频,看到用一个int型的变量去保存 System.in.read();   , 这是我就想在JDK文档中查看是一下是否真的是返回一个int型,结果死活找不找这个System.out.read()方法,
1、我直接在索引处输入read查找:看不到有System.int.read啊?如下图:

2、我直接在索引处输入System查找,看到字段摘要有一个:in,字段是什么意思啊,干嘛用的?如下图:

3、我直接在索引处输入in查找,也找不到我想要的System.in.read(),如图:


我尝试了一下用:java.lang.System.in.read()  来调用read方法,没有问题,请问这个read()方法的完全调用格式是不是:java.lang.System.in.read()呀?如果是,那我在JDK文档中应该怎么查找到这个read方法呢?

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

6 个回复

倒序浏览
System.in的实际类型是个InputStream,read方法是InputStream的,这个in是专门用来读取系统的参数信息

评分

参与人数 1技术分 +1 收起 理由
admin + 1 恭喜,25分了!

查看全部评分

回复 使用道具 举报
1. 查API,在类 java.lang.System 内有一字段:static InputStream in,即 in 是System类的一静态变量,因 in 属于InputStream ,而InputStream有 read(), 故 in有 read()。
2. 例如,你定义了:Integer n ---- n.byteValue() 是有的,因为Integer 类有byteValue()。
3. 综上所述,System.in.read(); 的 read()详细资料, 应查找InputStream 的read() 说明。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
System.in是标准输入流,其返回值类型是InputStream类型对象,而InputStream
中存在read()方法。故可以使用System.in.read();返回一个int数据。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
在API查找时你可以先输入read.你留意下这个read是否是覆盖哪个类A中的read方法。如果是就点到类A中的read方法。再留意下类A中的read方法是否又是覆盖了哪个类B的方法。你次找下最后一个类XX的read方法。因接里面抽象太多。接口也太多。一般东西都是一级一级继承下来的。有些方法当前地方没有。但他有可能从父类中继承过来了。
回复 使用道具 举报
非常感谢大家,我明白了,特别要感谢黄秋,因为说的真是详细,我这样的菜鸟要的就是这样的详细答案
回复 使用道具 举报
黄秋 黑马帝 2012-2-14 06:30:06
7#
客气了 {:soso_e181:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马