获取类对象
public class Main {
public static void main(String[] args) throws ParseException {
User user=new User();
Class c=user.getClass();
System.out.println(c);
Class c2=User.class;
System.out.println(c2);
try {
Class c3=Class.forName("gctest.User");
System.out.println(c3);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
class User {
public String name;
}
类对象的常用方法
public class Main {
public static void main(String[] args) throws ParseException, IllegalAccessException, InstantiationException {
User user=new User();
Class c=user.getClass();
String simpleName = c.getSimpleName();
System.out.println(simpleName);
String name = c.getName();
System.out.println(name);
Class superclass = c.getSuperclass();
System.out.println(superclass);
Class[] interfaces = c.getInterfaces();
Object o = c.newInstance();
}
}
Field类
public class Main {
public static void main(String[] args) throws ParseException, IllegalAccessException, InstantiationException, NoSuchFieldException {
User user=new User();
Class c=user.getClass();
Object o = c.newInstance();
Field name = c.getField("name");
name.set(o,"zhangsan ");
System.out.println(name.get(o));
Field[] fields = c.getFields();
Field field=c.getDeclaredField("id");
field.setAccessible(true);
field.set(o,13);
Field[] declaredFields = c.getDeclaredFields();
}
}
class User {
private int id;
public String name;
public User(){
}
}
Constructor类
public class Main {
public static void main(String[] args) throws Exception {
User user=new User();
Class c=user.getClass();
Constructor constructor = c.getConstructor();
Constructor constructor1 = c.getConstructor(String.class);
Object o = constructor.newInstance();
Constructor[] constructors = c.getConstructors();
Constructor[] declaredConstructors = c.getDeclaredConstructors();
Constructor declaredConstructor = c.getDeclaredConstructor(String.class, int.class);
declaredConstructor.setAccessible(true);
Object o1 = declaredConstructor.newInstance();
System.out.println(o1);
}
}
class User {
private int id;
public String name;
public User(){
}
public User(String name){
}
private User(String name,int id){
}
}
Method类
public class Main {
public static void main(String[] args) throws Exception {
User user=new User();
Class c=user.getClass();
Object o = c.newInstance();
Method print = c.getMethod("print",String.class);
Object hello = print.invoke(o, "hello");
System.out.println(hello);
Method[] methods = c.getMethods();
Method hello1 = c.getDeclaredMethod("hello");
hello1.setAccessible(true);
Object o1 = hello1.invoke(o);
System.out.println(o1);
Method[] declaredMethods = c.getDeclaredMethods();
}
}
class User {
private int id;
public String name;
public User(){
}
public User(String name){
}
private User(String name,int id){
}
public String print(String hello){
System.out.println("hello");
return hello;
}
private void hello(){
System.out.println("world");
}
}