所以我问自己为什么我不需要导入java.io.PrintStream使用System.out.我知道java.lang编译器默认导入它.行.
因为System是一类java.lang我可以使用的领域System.out.但是这个字段有类型java.io.PrintStream,默认情况下不会导入这个类(它在java.io包中),那么为什么我可以访问System.out.print()而不java.io.PrintStream单独导入呢?
如果我创建自己的类,MyClass那么我就不能做这样的事情MyClass anInstance = new MyClass();.首先需要导入MyClass.为什么这不是强制性的PrintStream?
提前致谢.
你只需要进口PrintStream,如果你需要使用PrintStream(类名)在你的代码.在另一个类型的对象上使用字段PrintStream不需要它.
也就是说,import是告诉编译器PrintStream代码中的(文字文本)含义.它不是告诉编译器你将使用PrintStream从其他地方获得的对象(在这种情况下System).
换句话说:import就是知道如何编译源文本; 它不是关于运行时使用的内容.例如,导入不会写入类文件; 在运行时不需要信息.字段和变量定义以其完全限定的类名存储,而不是import相对的类名.由于它的out类型信息System说明了java.io.PrintStream,编译器(以及后来的JVM)知道它是a java.io.PrintStream,无论你是否导入PrintStream代码.
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |