本文导引:
System 概述
- object类的子类
- 工具类:有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法
常见方法:
arraycopy(src,int srcPos, dest,int destPos,int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束currentTimeMillis()
返回以毫秒为单位的当前时间exit(int status)
终止当前正在运行的 Java 虚拟机gc()
运行垃圾回收器load(filename)
从作为动态库的本地文件系统中以指定的文件名加载代码文件setIn(in)
重新分配“标准”输入流setOut(out)
重新分配“标准”输出流setErr(err)
重新分配“标准”错误输出流
Class 概述
- object类的子类
Class
类的实例表示正在运行的 Java 应用程序中的类和接口(反射机制)Class
没有公共构造方法。Class
对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的defineClass
方法自动构造的。
常见方法:
forName( className) 返回与带有给定字符串名的类或接口相关联的
Class
对象getName() 以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称
getPackage()
获取此类的包getResourceAsStream( name)
查找具有给定名称的资源newInstance()
创建此 Class 对象所表示的类的一个新实例- 反射机制各方法
方法简介:
java里面任何class都要装载在虚拟机上才能运行,Class.forName(xxx.xx.xx) 就是装载类用的,返回的是一个类,不同于new;
A a = (A)Class.forName("pacage.A").newInstance() 等同于:A a = new A();
工厂模式下,会经常使用newInstance()方法来创建对象:
1 String className = readfromXMlConfig;//从xml 配置文件中获得字符串 2 class c = Class.forName(className); 3 factory = (ExampleInterface)c.newInstance();
总结:
-
- newInstance: 弱类型。低效率。只能调用无参构造。
- new: 强类型。相对高效。能调用任何public构造。