一、system类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
1.1、成员变量
System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
注:sysetm类中的属性和方法都是静态的。
例如:
System.out.print("hello world!");
该行代码的作用是将字符串”hello world”输出到系统的标准输出设备上,也就是显示在屏幕上。
1.2、成员方法
System类中提供了一些系统级的操作方法,这些方法实现的功能分别如下:
(1)、getProperties()方法
该方法是确定当前的系统属性。
使用示例:
class SystemDemo
{
public static void main(String[] args)
{
Properties prop = System.getProperties();
//因为properties是Hashtable的子类,也就是Map集合的一个子类对象
//那么可以通过Map的方法取出该集合中的元素
//该集合中存的都是字符串,没有泛型定义
for(Object obj:pro.keySet())
{
String value = (String)prop.get(obj);
System.out.println(obj+"::"+value);
}
}
}
会获得虚拟机在加载时所有获得的默认的属性信息。
(2)、setProperty()方法
该方法可以设置指定键指示的系统属性。
使用示例:
System.setProperyt("mykey","myvalue"); //可以随时修改
(3)、getProperty()方法
该方法可以获取指定键指示的系统属性。
使用示例:
String value = System.setProperyt("os.name"); //获取指定信息
System.out.println("Value = " + value);
注:1、跨平台时该方法可以加入判断。
2、可以在加载时动态输入参数值 方法为 -D【那么】=【value】。
例如:
String v = System.setProperyt("haha"); //获取指定信息
System.out.println("V = " + v);
(4)、currentTimeMillis()方法
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
使用示例:
long l = System. currentTimeMillis();
则获得的将是一个长整型的数字,该数字就是以差值表达的当前时间。
使用该方法获得的时间不够直观,但是却很方便时间的计算。
例如,计算程序运行需要的时间则可以使用如下的代码:
long start = System. currentTimeMillis();
for(int i = 0;i < 100000000;i++){
int a = 0;
}
long end = System. currentTimeMillis();
long time = end – start;
则这里变量time的值就代表该代码中间的for循环执行需要的毫秒数。
(5)、exit()方法
该方法的作用是退出程序。
(6)、gc()方法
该方法的作用是请求系统进行垃圾回收。
1.3、个人总结
System类是一个功能强大、非常有用的特殊类,它提供了标准输入输出、运行是的系统信息等重要工具。
但不能创建System类的对象,它所有的属性和方法都是静态的,引用时应以System为前缀。