就是系统级的很多属性、控制方法都放在这里,位于java.lang包内。
私有构造方法,所以我们也没办法创建它的对象,成员变量、方法都是static,需要就直接调用。
包括三个成员变量:in、out、err,分别是标准输入流(键盘输入)、标准输出流(显示器)、标准错误输出流(显示器)。
public final static InputStream in = null; public final static PrintStream out = null; public final static PrintStream err = null;
我们常用的System.out.println,其实是这么解读的,调用了System中定义的变量out,该变量是PrintStream类型的,println()就是PrintStream的方法,比如:
public void println(String x) {
synchronized (this) {
print(x);
newline();
}
}
三、常用方法
1、System.arraycopy(a, b, c, d, e)
a是被复制的源数组,b是复制起始位置,c是目的数组,d是目的数组的起始位置,e是目的数组的结束位置。
2、System.currentTimeMillis()系统毫秒数,Date类的getTime()返回的也是这个。
3、System.getProperty()| 序号 | 属性 | 描述 |
|---|---|---|
| 1 | os.arch | 操作系统的架构 |
| 2 | os.version | 操作系统的版本 |
| 3 | file.separator | 文件分隔符(UNIX中是 “/”) |
| 4 | path.separator | 路径分隔符(UNIX中是 “:”) |
| 5 | line.separator | 行分隔符(UNIX中是 “/n”) |
| 6 | user.name | 用户的账户名称 |
| 7 | user.home | 用户的主目录 |
| 7 | user.dir | 用户的当前工作目录 |
Java的垃圾回收器,不需要我们调用,JVM发现系统有不再使用的对象时,会自己执行,通常调用的情况有:①JVM内存不足时;②当CPU空闲时。
5、System.exit()退出虚拟机,终止当前正在运行的JVM,其参数就是状态码,0是终止,非0是异常终止,该方法永远不会正常返回。
这是唯一一个不会执行finally的方式,因为执行到它,整个程序就结束了,后面不管是什么都没用,可以看看下面这段代码:
try {
System.out.println("this is try");
System.exit(0);
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("this is finally");
}
输出:
this is try



