java Class类的用法示例

时间:2023-03-09 17:32:46
java Class类的用法示例
    @SuppressWarnings("unchecked")
public void func() throws InstantiationException, IllegalAccessException, ClassNotFoundException{
Class<String> obj = (Class<String>) Class.forName("java.lang.String");
String str = obj.newInstance();
str = "123";
System.out.println(str);
}

Class类在java.lang包,本身是public final class Class<T>,说明是一个泛型类,有一个类型参数T,它就是这个T类型的类型标识。Final类是不能被继承的。

这是Class类的toString方法,写得比较有艺术:

public String toString() {
return (isInterface() ? "interface " : (isPrimitive() ? "" : "class "))
+ getName();
}

反正都打印出getName(),不过接口会加上interface,类会加上class,原始类型不加东西。

Class里面的forName类是static的,内部用ClassLoader加载String参数指明的类,加载完成后,返回值正是Class<?>。  

第一段代码里的obj.newInstance相当于new String();

未完待续