三种方式获取该类的class:
通过包名Class.forName(""); 通过Class clazz1=User.class; User u1=new User();
Class<? extends User> clazz3 = u1.getClass();
获取包名 u1.getPackage() 获取类名 u1.getName()
package com. hou. pojo ;
public class User implements Cloneable {
private Integer id;
private String username;
public String password;
public User ( ) {
System . out. println ( "i am a brave boy and i love everyone" ) ;
}
public User ( Integer id, String username, String password) {
this . id = id;
this . username = username;
this . password = password;
}
@Override
public String toString ( ) {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}' ;
}
public User copyObject ( ) throws CloneNotSupportedException {
Object clone = super . clone ( ) ;
return ( User ) clone;
}
public static void main ( String [ ] args) throws Exception {
User user= new User ( 1 , "iamakindandloveboy" , "111" ) ;
System . out. println ( user+ "------------" ) ;
User user1 = user. copyObject ( ) ;
System . out. println ( user1+ "*********************" ) ;
}
}
package com. hou. test ;
import com. hou. pojo. User ;
import java. lang. reflect. Field ;
public class TestUser {
public static void main ( String [ ] args) throws Exception {
Class clazz1= Class . forName ( "com.hou.pojo.User" ) ;
Class clazz2= User . class ;
User u1= new User ( ) ;
Class < ? extends User > clazz3 = u1. getClass ( ) ;
System . out. println ( clazz1 == clazz2) ;
System . out. println ( clazz2 == clazz3) ;
Field [ ] declaredFields = clazz2. getDeclaredFields ( ) ;
for ( Field field: declaredFields) {
System . out. println ( field) ;
}
Field [ ] fields= clazz2. getFields ( ) ;
for ( Field field: fields
) {
System . out. println ( field) ;
}
Package aPackage = clazz1. getPackage ( ) ;
String name = clazz1. getName ( ) ;
System . out. println ( aPackage) ;
System . out. println ( name) ;
}
}