java中的反射
程序员文章站
2022-04-24 10:30:00
...
java中每一个class都有一个class对象,而当我们编写一个类,编写完成后,再生产的class文件中,就会产生一个class对象。class对象包含这class中的基本信息。
简单的表示就是
对于class类有几点是要注意的:
1.class类不能人为生成,必须由系统产生。
2,每个类只能有一个class对象。
获取class类的方法:
1.通过对象名getClass();
class Student1{
public String name = "caocao";
private int age = 18;
public Student1(){
System.out.println("student init!");
}
public void fun1(){
System.out.println("fun1() init!");
}
public void fun2(){
System.out.println("fun2() init!");
}
}
public class zuoye {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student1 s = new Student1();
Class c1 = s.getClass();
System.out.println(c1);
}
}
2.通过类名class,任何一个类都有一个隐含的静态成员变量class
Class c2 = Student1.class;
System.out.println(c2);
3.通过class对象的forClass()方法,路径必须是全包名
Class c3 = Class.forName("tulun0525.Student1");
System.out.println(c3);
测试是不是同一个对象:
System.out.println(c1 == c2);
System.out.println(c2 == c3);
结果:
true
true
说明是同一个class对象。
一些class对象常用的方法:
如有错误,请多多指教。
上一篇: java的反射机制