关于System.out.println语句的疑问

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:56:57
System是lang包中的一个类,所以按格式out应该是这个类的一个方法了,但是却没有参数.另外我看了下io包,out应该是io包的printstream类的一个实例.但是java默认是不导入io包的.为什么这个out可以通过编译呢.System.out.println()这个语句到底该怎么理解啊.想不通啊.牛人来帮分析下啊.

io包是在System这个类里面import进来的

错了,System是java.lang包里面的,
默认的是导入了java.lang这个包的,所以你能够使用System(静态)类.
另外如果你在程序中给出了类的全限定名称,是不需要import 的,import 语句的作用是指出名空间,不会造成命名混淆而已.
如下面的程序:
package test;

public class Te{

public static void main(String[] args){

System.out.println(new java.util.Date());
}
}
是直接通过编译通过的,但如果用的是
System.out.println(new Date());
编译是不能通过的,比如java.sql包下面也有一个Date类.你程序中使用的到底是哪个Date类?计算机并不比人聪明,所以你要告诉计算机:这个Date类是java.util包下面的类

System类中的out是一个静态的Printstream类对象.
println()是Printstream类中定义的方法,out是Printstream类对象,自然out.println()没错.
所以System.out.println()没有问题