System.in.read为什么会用到java.io呢?

解决方案 »

  1.   

    in虽然是个InputStream对象,但in是System里头已经定义好的,又不是你自己定义的。
      

  2.   

    自己看一下吧:
    System在java.lang.*里,当然不用引用System了
      

  3.   

    可是System.in返回的是一个InputStream的对象,然后InputStream对象的read()方法在java.io包中,是不是最前面的是System,在java.lang包中,就不考虑后面的read()方法是在java.io包中的?
      

  4.   

    你如果这样:InputStream tmp = System.in;
    那么就需要import java.io了。因为除了你自己,没人负责解释tmp是啥。System类只知道in是啥,不知道tmp是啥。
      

  5.   

    Java设计人员已经预先装载了System.in要用到的io,方便书写,这样就不用每次使用Sys都要import io包。
      

  6.   

    可是System.in返回的是一个InputStream的对象,然后InputStream对象的read()方法在java.io包中,是不是最前面的是System,在java.lang包中,就不考虑后面的read()方法是在java.io包中的?
    ------------------------------------》
    总结一下system是lang包里面的,不需要引用。
     system 里面肯定已经定义了in对象,也引入了(import)声明 read()方法的类。
      

  7.   

    System.in.read()
    这个既然能写出来不报错,就说明system 里面肯定已经定义了in对象,in里面也有read()方法