除java.lang包是自动加载的,其余的均需用import加载。本人有一个不理解的地方:即关于最常见的System.out.println()语句。System类位于java.lang包,out是System类的一个field,System.out则产生了一个PrintStream类型的对象,然后该对象调用PrintStream类中的println()方法以完成屏幕输出。问题是PrintStream类位于java.io包,既然规则如此,就应在代码开始处写上import java.io.*;而针对System.out.println(),我们从来都不需要加载任何包。这岂不是自相矛盾。
烦请各位大侠指正!
烦请各位大侠指正!
* @(#)System.java 1.149 04/06/02
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.lang;import java.io.*;
import java.util.Properties;
import java.util.PropertyPermission;
import java.util.StringTokenizer;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.AllPermission;
import java.nio.channels.Channel;
import java.nio.channels.spi.SelectorProvider;
import sun.net.InetAddressCachePolicy;
import sun.reflect.Reflection;
import sun.security.util.SecurityConstants;
import sun.reflect.annotation.AnnotationType;