14.9 ClassLoader
抽象类ClassLoader规定了类是如何加载的。应用程序可以创建扩展ClassLoader的子类,实现它的方法。这样做允许使用不同于通常由Java运行时系统加载的另一些方法来加载类。由ClassLoader定义的一些方法列在表14-14中。
表14-14 由CalssLoader 定义的一些方法
方法 描述
final Class defineClass(String str, byte b[ ],
int index, int numBytes)
throws ClassFormatError
返回一个类(Class)对象,类的名字在str中,对象包含在由b指定的字节数组中。该数组中对象开始的位置下标由index指定,而该数组的长度为numBytes。b中的数据必须表示一个有效的对象
final Class findSystemClass(String name)
throws ClassNotFoundException
返回一个给定名字的类(Class)对象
abstract Class loadClass(String name,
boolean callResolveClass)
throws ClassNotFoundException
如果callResolveClass为true,这个抽象方法的实现工具必须加载一个给定名字的类,并调用resolveClass( )方法
final void resolveClass(Class obj) 用obj引用的类被解析(即,它的名字被输入在类名字空间中)
14.10 Math
Math类保留了所有用于几何学,三角学以及几种一般用途方法的浮点函数。Math定义了两个双精度(double)常数:E(近似为2.72)和PI(近似为3.14)。
14.10.1 超越函数
下面的三种方法对一个以弧度为单位的角度接收一个双精度(double)参数并且返回它们各自的超越函数的结果:
方法 描述
Static double sin(double arg) 返回由以弧度为单位由arg指定的角度的正弦值
static double cos(double arg) 返回由以弧度为单位由arg指定的角度的余弦值
static double tan(double arg) 返回由以弧度为单位由arg指定的角度的正切值
下面的方法将超越函数的结果作为一个参数,按弧度返回产生这个结果的角度值。它们是其非弧度形式的反。
方法 描述
static double asin(double arg) 返回一个角度,该角度的正弦值由arg指定
static double acos(double arg) 返回一个角度,该角度的余弦值由arg指定
static double atan(double arg) 返回一个角度,该角度的正切值由arg指定