1.new 關鍵字創建對象 new創建對象會增加耦合度。無論使用什么框架,都要減少new的使用以降低耦合度。 2.反射機制創建對象 (1)Class類的newInstance方法: Class c = Class.forName("com.briup.text"); Hello h = (Hello)c.newInstance(); (2)Constructor類的newInstance方法 Class c = Class.forName("com.briup.text"); Constructor constructor = c.getConstruction(); Hello h =(Hello) constructor.newInstance(); 3.clone(); Hello h1 = new Hello(); Hello h2 = (Hello)h1.clone(); 4.序列化機制(使用序列化時,要實現實現Serializable接口,將一個對象序列化到磁盤上,而采用反序列化可以將磁盤上的對象信息轉化到內存中) Hello h = new Hello(); File f = new File("hello.obj"); FileOutputStream fos = new FileOutputStream(f); ObjectOutputStream oos = new ObjectOutputStream(fos); FileInputStream fis = new FileInputStream(f); ObjectInputStream ois = new ObjectInputStream(fis) //序列化對象,寫入到磁盤中 oos.writeObject(h); //反序列化對象 Hello newHello = (Hello)ois.readObject(); 注意事項:除了new創建對象,其他都需要類型的強制轉換 經典面試題:創建對象一定要new嗎,請舉例說明
