System类是我们一开始学习java就接触到的一个常用类,在这个类中封装了许多和系统底层有关的方法供我们调用。
所属包
首先,查看jdk我们可以知道,System
类是位于java.lang
包下的。因此,是无需导包就能直接使用的。
类描述
我们先看一段官方注解:
1 | /** |
大意就是,System
这个类一个基础工具类,它无法被实例化。
它主要用于标准输入、输出流的控制,以及数组的操作等。
构造函数
1 | /** Don't let anyone instantiate this class */ |
由于构造函数的私有属性,因此System
类是无法实例化的。
常用成员方法
输出方法
这里介绍两个方法,分别是:System.out.println()
以及System.err.println()
。
实际上,这两个方法都是通过System
内的静态不可变成员变量out
或err
,并且它们都是PrintStream
类的的对象引用,然后通过对象调用类中方法。
数组操作方法
1 | * src the source array. |
从源数组src
向目的数组dest
,复制给定长度length
的数据。
退出jvm
方法
1 | /** |
方法描述为:终止正在运行的jvm
,并返回一个状态码。依照惯例:返回‘0’,代表正常退出 ;其他值,代表异常退出。
垃圾回收方法
1 | /** |
调用jvm
的垃圾回收机制,去尽可能的回收系统资源。一般与Object
类的finalize()
方法配套使用
1 | /** |
流程是:
1 | public class Test{ |
运行结果是:可能打印出“在这里完成一些收尾工作”。因为gc不能保证每次都能回收Student
资源(the Java Virtual Machine has made a best effort to reclaim space from all discarded)。