各位,查看JDK发现print方法是属于IO包中PrintStream这个类中的方法,为什么在没有导入IO包的情况下,System.out可以调用这个方法?

解决方案 »

  1.   

    JAVA会默认导入几个包的,比如lang包,IO包应该也是的!
    所以不需要显示的import它们
      

  2.   

    应该不会的,不可能在没有导入IO包的情况下能使用PrintStream类中的方法,默认导入的是一些常用的java.lang包和java.util包,没有IO包。
    我用的是JB。
      

  3.   

    楼主: 在编写System类的时候已经导入java.io.PrintStream了, 还要导入什么? 难道说你在类B中导入了一些类, 你在类A中使用类B, 还要把类B使用的所有类都导入一遍??楼上二位: 默认导入的包只有java.lang, 没有其它任何包.
      

  4.   

    楼上“也该有些作为了”说的及是,System类的属性有三个,分别是系统的标准输出(out),标准输入(in)和标准错误输出(err),即
    public static PrintStream out;
    public static PrintStream in;
    public static PrintStream err;
    道理也就相当于楼上“也该有些作为了”说的,我刚才没审清题,不好意思啊 
    至于默认导入包,我发现直接使用java.util包里的Date类也没出现错误提示,
    不知道java.util是不是默认导入包。
      

  5.   

    System.out.print
    注意这个路径,java中默认导入java.lang, System就在找个package中,而out是System中的一个静态成员变量,类型为PrintStream, 这样Java又会导入java.io