java创建对象的四种方法

java创建对象的四种方法

ID:11439098

大小:32.50 KB

页数:5页

时间:2018-07-12

java创建对象的四种方法_第1页
java创建对象的四种方法_第2页
java创建对象的四种方法_第3页
java创建对象的四种方法_第4页
java创建对象的四种方法_第5页
资源描述:

《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接口的使用  *包含第一种和

2、第三种方法clone()  *不过要注意在clone()中深复制和潜复制的理解  *实例化对象  */  classPersonimplementsCloneable{  privateStringname;  privateintage;  publicPerson(Stringname,intage){  this.name=name;  this.age=age;  }  publicintgetAge(){  returnage;  }  publicvoidsetAge(intage){  this.age=age;  

3、}  publicStringgetName(){  returnname;  }  publicvoidsetName(Stringname){  this.name=name;  }  @Override  publicObjectclone()throwsCloneNotSupportedException{  //TODOAuto-generatedmethodstub  returnsuper.clone();  }  @Override  publicStringtoString(){  //TODOAuto-gene

4、ratedmethodstub  return"姓名是:"+name+";年龄是:"+age;  }  }  publicclassTestClone{  publicstaticvoidmain(String[]args){  Personp1=newPerson("王豪博",25);  System.out.println(p1);  Personp2=null;  try{  p2=(Person)p1.clone();  }catch(CloneNotSupportedExceptione){  //TODOAuto-ge

5、neratedcatchblock  e.printStackTrace();  }  p2.setName("春香");  p2.setAge(24);  System.out.println(p2);  }  }  /*  *通过反射对对象进行初始化  *注意必须有无参数的Constructor  *实例化Class类然后调用newInstance()方法  *  */  packageorg.whb.test.demo715;  classPerson{  privateintage;  privateStringname;

6、  publicintgetAge(){  returnage;  }  publicvoidsetAge(intage){  this.age=age;  }  publicStringgetName(){  returnname;  }  publicvoidsetName(Stringname){  this.name=name;  }  publicStringtoString(){  return"年龄是:"+this.age+"姓名是:"+this.name;  }  }  publicclassTestClass{ 

7、 publicstaticvoidmain(String[]args){  Classc1=null;  try{  c1=Class.forName("org.whb.test.demo715.Person");  }catch(ClassNotFoundExceptione){  e.printStackTrace();  }  Personp1=null;  try{  p1=(Person)c1.newInstance();  }catch(InstantiationExceptione){  //TODOAuto-

8、generatedcatchblock  e.printStackTrace();  }catch(IllegalAccessExceptione){  //TODOAuto-generatedcatchblock  e.printStackTra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。