Java 入门教程 java.lang.Class 类

2024-02-25 开发教程 Java 入门教程 匿名 2

Class类的实例对象,用于记录类描述信息。

Class类没有公共的构造方法,无法通过new运算符实例化;只能通过对象的getClass方法,或是通过Class.forName(…)来获得实例。

方法目的
static ClassforName(String className)throws ClassNotFoundException使用参数className来指定具体的类,来获得相关的类描述对象,该方法有可能抛出类加载异常(ClassNotFoundException),必须捕捉
Class getSuperclass()获得当前类描述对象的父类的描述对象
String getName()返回当前类描述对象的类名称

获取Class对象的三种方式:

public class _T11 {
// Class:类描述对象
public static void main(String[] args) {
Class<?> _class;
// ***1*对象.getClass()
String str = "";
_class = str.getClass();
System.out.println(_class + "-----对象名.getClass()");
// ***2*类.class
_class = String.class;
System.out.println(_class + "-----类名.class");
// ***3*Class.forName("")
try {
_class = Class.forName("java.lang.String");
System.out.println(_class + "-----Class.forName(...)");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}

class java.lang.String-----对象名.getClass()
class java.lang.String-----类名.class
class java.lang.String-----Class.forName(...)

Class类的常用方法:

  • getName()
    一个Class对象描述了一个特定类的属性,Class类中最常用的方法getName以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
  • newInstance()
    Class还有一个有用的方法可以为类创建一个实例,这个方法叫做newInstance()。例如:x.getClass.newInstance(),创建了一个同x一样类型的新实例。newInstance()方法调用默认构造器(无参数构造器)初始化新建对象。
  • getClassLoader()
    返回该类的类加载器。
  • getComponentType()
    返回表示数组组件类型的 Class。
  • getSuperclass()
    返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。
  • isArray()
    判定此 Class 对象是否表示一个数组类。