国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

java創(chuàng)建對(duì)象的方式

2019-11-06 06:48:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

java創(chuàng)建對(duì)象的方式

1、直接new2、通過(guò)反射clazz的newInstance調(diào)用無(wú)參構(gòu)造函數(shù)創(chuàng)建對(duì)象3、通過(guò)反射獲取構(gòu)造函數(shù)直接newInstance創(chuàng)建對(duì)象4、實(shí)現(xiàn)Serializable接口,通過(guò)反系列化創(chuàng)建對(duì)象5、實(shí)現(xiàn)Cloneable接口,覆蓋clone方法,通過(guò)克隆創(chuàng)建對(duì)象package cn.zlz.createobj;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.lang.reflect.Constructor;/** * 創(chuàng)建對(duì)象的方式 * 1、直接new * 2、通過(guò)反射clazz的newInstance調(diào)用無(wú)參構(gòu)造函數(shù)創(chuàng)建對(duì)象 * 3、通過(guò)反射獲取構(gòu)造函數(shù)直接newInstance創(chuàng)建對(duì)象 * 4、實(shí)現(xiàn)Serializable接口,通過(guò)反系列化創(chuàng)建對(duì)象 * 5、實(shí)現(xiàn)Cloneable接口,覆蓋clone方法,通過(guò)克隆創(chuàng)建對(duì)象 * */public class Main { public static void main(String[] args) { // 通過(guò)構(gòu)造函數(shù)直接new Person person = new Person(); System.out.PRintln(person); // 通過(guò)反射創(chuàng)建對(duì)象 createByReflect(); // 通過(guò)構(gòu)造器反射創(chuàng)建對(duì)象 createByConstructor(); // 通過(guò)序列化創(chuàng)建對(duì)象 createBySerialize(); //通過(guò)克隆創(chuàng)建對(duì)象 createByClone(); } private static void createByClone() { Person person = new Person("wangwu",5); Person clone = person.clone(); System.out.println(clone); } private static void createBySerialize() { try { String filePath = "person.dat"; Person instance = new Person("lizi",4); ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream( filePath)); objectOutputStream.writeObject(instance); ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(filePath)); Person person = (Person) objectInputStream.readObject(); System.out.println(person); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void createByConstructor() { try { Class<?> clazz = Class.forName("cn.zlz.createobj.Person"); Constructor<?> constructor = clazz.getDeclaredConstructor(String.class, int.class); Person person = (Person) constructor.newInstance("zhangsan", 2); System.out.println(person); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void createByReflect() { try { Class<?> clazz = Class.forName("cn.zlz.createobj.Person"); Person person = (Person) clazz.newInstance(); System.out.println(person); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}package cn.zlz.createobj;import java.io.Serializable;public class Person implements Serializable, Cloneable { /** * */ private static final long serialVersionUID = 1L; private String name; private int age; public Person(String name, int age) { super(); this.name = name; this.age = age; } public Person() { super(); } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } @Override public Person clone() { Person person = null; try { return (Person) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return person; }}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开原市| 汤原县| 雷波县| 达拉特旗| 保山市| 昭苏县| 淮安市| 乌兰浩特市| 富锦市| 五原县| 台湾省| 仁寿县| 建阳市| 南投市| 来宾市| 青田县| 平利县| 封丘县| 玉田县| 揭阳市| 辽中县| 四川省| 鄂伦春自治旗| 运城市| 商水县| 鸡西市| 吉安市| 余庆县| 孟连| 淮阳县| 资溪县| 突泉县| 扎兰屯市| 永年县| 祥云县| 临邑县| 满城县| 衡南县| 娱乐| 乐陵市| 桑日县|