Java获取Class的三种实现方法
如创建了一个User类:
package com.example.zhan;
public class User {
private int no;
private String sex;
private String name;
public User() {
}
public User(int no, String sex, String name) {
this.no = no;
this.sex = sex;
this.name = name;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"no=" + no +
", sex='" + sex + '\'' +
", name='" + name + '\'' +
'}';
}
}
1.Class.forName("包路径");
Class user = Class.forName("com.example.zhan.User");
2.实例对象.getClass()
User user=new User();
Class auser=user.getclass();
3.类名.class
Class userClass = User.class;
将以上进行控制台的输出,结果为:
并且以上三者获取的为同一字节码文件(每个类一次编译后只产生一个对应的字节码文件)
版权声明:本文为Kristabo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。