获取Class类实例的三种方式
程序员文章站
2022-05-07 21:45:09
...
1.Class类实例是什么?
2.获取Class类实例的三种方式
1.Class类中的静态方法:
2.Object类中的getClass()方法:
3.每个类的.class属性
下面通过实例来看如何获取Class类对象:
先写一个Person类:这个类中有成员变量,成员方法,构造方法,并且修饰符和参数不同
package 获取Class文件对象的三种方式;
public class Person {
private String name;
int age;
public String address;
public Person(){}
Person(String name,int age){
this.name=name;
this.age=age;
}
public Person(String name,int age,String address){
this.name=name;
this.age=age;
this.address=address;
}
public void show(){
System.out.println("show");
}
public void meethod(String s){
System.out.println("method"+s);
}
public String getString(String s,int i){
return s+"------"+i;
}
private void function(){
System.out.println("function......");
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
'}';
}
}
获取Class类对象的三种方式:
package 获取Class文件对象的三种方式;
public class ReflectDemo1 {
public static void main(String[] args) throws ClassNotFoundException {
//方式1:通过Object的getClass()方法
//返回此Object的运行时类,这个运行时类就是Person类
//Class类实例c1代表正在运行的java应用程序中的Person类
Person p1 = new Person();
Class c1 = p1.getClass();
Person p2 = new Person();
Class c2 = p2.getClass();
System.out.println(p1==p2);//false
System.out.println(c1==c2);//true
//方式2:
Class c3 = Person.class;
System.out.println(c1==c3);//true
//方式3:Class类中的静态方法,Class类实例c4就代表Person类
Class c4 = Class.forName("获取Class文件对象的三种方式.Person");
System.out.println(c1==c4);//true
}
}
上一篇: SQLServer2019的安装
下一篇: 2009年值得关注的11家开源公司