Java(System.in)

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:53:09
请教个问题:System.in是inputStream类型,封装了键盘,但是我看了System.in的源文件,里面没有任何代码,这里的工作是不是虚拟机告诉操作系统,System.in要与键盘关联而java代码不做任何事?

他是关联本地方法了,也就是说,他的实现其实是本地的C语言写的。

in
public static final java.io.InputStream in“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。

in是System这个类里面的一个InputStream类型的静态变量。

一般与键盘等硬件交互的话,需要通过操作系统的I/O通讯吧,所以那里应该有一些native的方法吧?