如何获取Class类对象
一、
1、通过Class类静态forName(“类包名.类名”)获取Class类实例,建议使用这种形式
package venus;
public class Student {
public Student() {
}
public Student(String name) {
this.name = name;
}
public String name;
public void doHomework() {
System.out.println(name+"正在做作业");
}
}
package venus;
public class Test {
public static void main(String[] args) {
Class clazz = null;
try {
clazz = Class.forName("venus.Student");
System.out.println(clazz.getName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
2、通过使用类名.class获取Class类对象
package venus;
public class Student {
public Student() {
}
public Student(String name) {
this.name = name;
}
public String name;
public void doHomework() {
System.out.println(name+"正在做作业");
}
}
package venus;
public class Test {
public static void main(String[] args) {
Class clazz = null;
clazz = Student.class;
System.out.println(clazz.getName());
}
}
3、通过使用对象.getClass获取Class类对象
package venus;
public class Student {
public Student() {
}
public Student(String name) {
this.name = name;
}
public String name;
public void doHomework() {
System.out.println(name+"正在做作业");
}
}
package venus;
public class Test {
public static void main(String[] args) {
Class clazz = null;
clazz = new Student().getClass();
System.out.println(clazz.getName());
}
}
4、基本数据类型对应的Class对象:包装类.TYPE或基本数据类型.class
package venus;
public class Test {
public static void main(String[] args) {
Class clazz = null;
clazz = Integer.TYPE;
System.out.println(clazz.getName());
clazz = int.class;
System.out.println(clazz.getName());
clazz = Integer.class;
System.out.println(clazz.getName());
}
}
5、数组类型对应Class对象:数组类型[].class
package venus;
public class Test {
public static void main(String[] args) {
Class clazz = null;
clazz = String[].class;
System.out.println(clazz.getName());
}
}
6、通过调用某个类的Class实例的getSuperClass()方法可以获取该类超类的Class实例
package venus;
public class Student {
public Student() {
}
public Student(String name) {
this.name = name;
}
public String name;
public void doHomework() {
System.out.println(name+"正在做作业");
}
}
package venus;
public class Test {
public static void main(String[] args) {
Class clazz = null;
clazz = Student.class.getSuperclass();
System.out.println(clazz.getName());
}
}