1. Class类
-
Class类的对象用来表示运行时类或接口的信息。
-
对于数组而言,具有相同元素类型和维数的数组共享一个Class对象。
-
可以通过Class对象获取类名,父类等信息,并可通过Class类来获取该类的属性、方法、构造方法、包等。
所有的类都有一个静态属性——.class属性。
一个字节码文件(*.calss)在一次程序运行过程中,只会被加载一次,不论以下三种方式中的哪一种方式获取Class对象都是同一个
获取Class对象的方法有如下:
1.1 通过.Class属性
public class Person{
}
public class BootStrp{
piblic static void main(String[] args){
Class<Person> clazz = Person.class;
System.out.println(clazz.getCanonicalName());
}
}
运行结果:
org.ddd.reflect.example08.Person
1.2 通过getClass()方法
对象.getClass()
1.3 通过forName()方法
String className = "org.ddd.reflect.example08.Person";
try{
Class<?> clazz = Class.forName(className );
System.out.println(clazz.getCanonicalName());
}catch (ClassNotFoundException e){
e.printStackTrace();
}
运行结果:
org.ddd.reflect.example08.Person