黑马程序员技术交流社区

标题: 关于JDK 的chm文档使用的问题 [打印本页]

作者: 戴振良    时间: 2012-2-11 19:24
标题: 关于JDK 的chm文档使用的问题
本帖最后由 戴振良 于 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方法呢?

作者: 张建银    时间: 2012-2-11 19:42
System.in的实际类型是个InputStream,read方法是InputStream的,这个in是专门用来读取系统的参数信息
作者: 黄秋    时间: 2012-2-11 20:34
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() 说明。
作者: 何洪森    时间: 2012-2-11 23:46
System.in是标准输入流,其返回值类型是InputStream类型对象,而InputStream
中存在read()方法。故可以使用System.in.read();返回一个int数据。
作者: 成果    时间: 2012-2-14 00:32
在API查找时你可以先输入read.你留意下这个read是否是覆盖哪个类A中的read方法。如果是就点到类A中的read方法。再留意下类A中的read方法是否又是覆盖了哪个类B的方法。你次找下最后一个类XX的read方法。因接里面抽象太多。接口也太多。一般东西都是一级一级继承下来的。有些方法当前地方没有。但他有可能从父类中继承过来了。
作者: 戴振良    时间: 2012-2-14 00:49
非常感谢大家,我明白了,特别要感谢黄秋,因为说的真是详细,我这样的菜鸟要的就是这样的详细答案
作者: 黄秋    时间: 2012-2-14 06:30
客气了 {:soso_e181:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2