测试类:
public class TestClass {
Student stu = new Student();
// 1 通过对象.getClass()的方式获取
Class<?> c1 = stu.getClass();
System.out.println(c1);
// 2直接通过类.class的方式获取
Class<?> c2 = Student.class;
System.out.println(c2);
// 3通过Class.forname(全路径)的方式来获取
Class<?> c3 = Class.forName("com.fanshe.test.Student");
System.out.println(c3);
System.out.println("--------------------------------------");
System.out.println("获取类的全称:" + c3.getName());
System.out.println("获取类的简称:" + c3.getSimpleName());
System.out.println("判断是不是枚举:" + c3.isEnum());
System.out.println("判断是不是接口:" + c3.isInterface());
System.out.println("获取类的访问修饰符:" + c3.getModifiers());
System.out.println("解析后的修饰符:" + Modifier.toString(c3.getModifiers()));
System.out.println("获取父类的信息:"+c3.getSuperclass().getSimpleName());
}
}
Student类:
package com.fanshe.test;
public final class Student extends Person {
private String name;
public int age;
protected double score;
String sex;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(int id, String coure, String name, int age, double score,
String sex) {
super(id, coure);
this.name = name;
this.age = age;
this.score = score;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}