欢迎来到天天文库
浏览记录
ID:10615023
大小:32.50 KB
页数:5页
时间:2018-07-07
《java创建对象的四种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java中创建对象的四种方式 1.用new语句创建对象,这是最常见的创建对象的方法。 2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。 3.调用对象的clone()方法。 4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。以下是代码片段: packageorg.whb.test.demo724; /* *测试Cloneable接口的使用 *包含第一种和第三种方法clone()
2、 *不过要注意在clone()中深复制和潜复制的理解 *实例化对象 */ classPersonimplementsCloneable{ privateStringname; privateintage; publicPerson(Stringname,intage){ this.name=name; this.age=age; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; } publicStringgetName()
3、{ returnname; } publicvoidsetName(Stringname){ this.name=name; } @Override publicObjectclone()throwsCloneNotSupportedException{ //TODOAuto-generatedmethodstub returnsuper.clone(); } @Override publicStringtoString(){ //TODOAuto-generatedmethodstub return"姓名是:"+name+"
4、;年龄是:"+age; } } publicclassTestClone{ publicstaticvoidmain(String[]args){ Personp1=newPerson("王豪博",25); System.out.println(p1); Personp2=null; try{ p2=(Person)p1.clone(); }catch(CloneNotSupportedExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } p2.s
5、etName("春香"); p2.setAge(24); System.out.println(p2); } } /* *通过反射对对象进行初始化 *注意必须有无参数的Constructor *实例化Class类然后调用newInstance()方法 * */ packageorg.whb.test.demo715; classPerson{ privateintage; privateStringname; publicintgetAge(){ returnage; } publicvoidsetAge(intage
6、){ this.age=age; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringtoString(){ return"年龄是:"+this.age+"姓名是:"+this.name; } } publicclassTestClass{ publicstaticvoidmain(String[]args){ Class>c1=null; try{ c1=Class.f
7、orName("org.whb.test.demo715.Person"); }catch(ClassNotFoundExceptione){ e.printStackTrace(); } Personp1=null; try{ p1=(Person)c1.newInstance(); }catch(InstantiationExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(IllegalAccessExceptione){ //TODOA
8、uto-generatedcatchblock e.printStackTra
此文档下载收益归作者所有