這里一共整理了四種方法
①用類的new ()創建
②用clone方法創建, 需要類實現 Cloneable 接口
③通過反射機制創建
④將一個對象實例化后,進行序列化,再反序列化
下面是實現代碼
1)用類的new ()創建
User user = new User();
2)用clone方法創建, 需要類實現 Cloneable 接口
User user2 = (User) user1.clone();
3)用 Class.forName方法獲取類,在調用類的newinstance()方法
Class<?> cls =null;
User u = null;
try {
cls = Class.forName("com.dao.User");
u = (User)cls.newInstance();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
4)將一個對象實例化后,進行序列化,再反序列化,也可以獲得一個對象(遠程通信的場景下使用)
try{
ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream("D:/objectUser.txt"));
//序列化對象
out.writeObject(user1); //"Kong zi", "13800010001", "Greatwalk"
out.close();
//反序列化對象
ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:/objectUser.txt"));
User user4 = (User) in.readObject();
System.out.println("反序列化user:" + user4);
in.close();
}
catch(ClassNotFoundException e ){
e.printStackTrace();
}
catch(FileNotFoundException e ){
e.printStackTrace();
}
catch(IOException e ){
e.printStackTrace();
}