当前位置: 首页 > news >正文

自贡市网站建设_网站建设公司_SSG_seo优化

推广平台网站有哪些,wordpress 表单数据,专门的网页制作工具有(),积分兑换商城网站建设Java不提供克隆(复制)对象的自动机制。克隆对象意味着逐位复制对象的内容。要支持克隆操作#xff0c;请在类中实现clone()方法。Object类中的clone()方法的声明如下#xff1a;protected Object clone() throws CloneNotSupportedExceptionclone()方法声明为protected。 因此…Java不提供克隆(复制)对象的自动机制。克隆对象意味着逐位复制对象的内容。要支持克隆操作请在类中实现clone()方法。Object类中的clone()方法的声明如下protected Object clone() throws CloneNotSupportedExceptionclone()方法声明为protected。 因此不能从客户端代码调用它。以下代码无效Object obj new Object();Object clone obj.clone(); // Error. Cannot access protected clone() method需要在类中声明clone()方法为public来克隆类的对象。它的返回类型是Object。 这意味着将需要使用clone()方法转换返回值。假设MyClass是可克隆的。 克隆代码将如下所示MyClass mc new MyClass();MyClass clone (MyClass)mc.clone(); // Need to use a castObject类中的clone()方法会抛出CloneNotSupportedException。要调用clone()方法需要将调用放在try-catch块中或者重新抛出异常。示例以下代码显示了如何实现克隆方法。class MyClass implements Cloneable {private double value;public MyClass(double value) {this.value value;}public void setValue(double value) {this.value value;}public double getValue() {return this.value;}public Object clone() {MyClass copy null;try {copy (MyClass) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}}public class Main {public static void main(String[] args) {MyClass dh new MyClass(100.00);MyClass dhClone (MyClass) dh.clone();System.out.println(Original: dh.getValue());System.out.println(Clone : dhClone.getValue());dh.setValue(100.00);dhClone.setValue(200.00);System.out.println(Original: dh.getValue());System.out.println(Clone : dhClone.getValue());}}上面的代码生成以下结果。Original:100.0Clone :100.0Original:100.0Clone :200.0实例-2以下代码不从clone()方法返回对象类型该方法仅在Java5或更高版本中编译。class MyClass implements Cloneable {public MyClass clone() {Object copy null;return (MyClass)copy;}}下面的代码展示了如何做浅克隆。class MyClass implements Cloneable {private double value;public MyClass(double value) {this.value value;}public void setValue(double value) {this.value value;}public double getValue() {return this.value;}public Object clone() {MyClass copy null;try {copy (MyClass) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}}class ShallowClone implements Cloneable {private MyClass holder new MyClass(0.0);public ShallowClone(double value) {this.holder.setValue(value);}public void setValue(double value) {this.holder.setValue(value);}public double getValue() {return this.holder.getValue();}public Object clone() {ShallowClone copy null;try {copy (ShallowClone) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}}public class Main {public static void main(String[] args) {ShallowClone sc new ShallowClone(100.00);ShallowClone scClone (ShallowClone) sc.clone();System.out.println(Original: sc.getValue());System.out.println(Clone : scClone.getValue());sc.setValue(200.00);System.out.println(Original: sc.getValue());System.out.println(Clone : scClone.getValue());}}上面的代码生成以下结果。Original:100.0Clone :100.0Original:200.0Clone :200.0实例-3ShallowClone类的clone()方法中的代码与MyClass类的clone()方法相同。当ShallowClone类使用super.clone()调用Object类的clone()方法时它会接收自身的浅拷贝。也就是说它与其克隆共享其实例变量中使用的DoubleHolder对象。在深克隆中需要克隆对象的所有引用实例变量。class MyClass implements Cloneable {private double value;public MyClass(double value) {this.value value;}public void setValue(double value) {this.value value;}public double getValue() {return this.value;}public Object clone() {MyClass copy null;try {copy (MyClass) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}}class DeepClone implements Cloneable {private MyClass holder new MyClass(0.0);public DeepClone(double value) {this.holder.setValue(value);}public void setValue(double value) {this.holder.setValue(value);}public double getValue() {return this.holder.getValue();}public Object clone() {DeepClone copy null;try {copy (DeepClone) super.clone();copy.holder (MyClass) this.holder.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}}public class Main {public static void main(String[] args) {DeepClone sc new DeepClone(100.00);DeepClone scClone (DeepClone) sc.clone();System.out.println(Original: sc.getValue());System.out.println(Clone : scClone.getValue());sc.setValue(200.00);System.out.println(Original: sc.getValue());System.out.println(Clone : scClone.getValue());}}执行上面的代码将生成以下结果 -Original:100.0Clone :100.0Original:200.0Clone :100.0¥ 我要打赏纠错/补充收藏加QQ群啦易百教程官方技术学习群注意建议每个人选自己的技术方向加群同一个QQ最多限加 3 个群。
http://www.ihoyoo.com/news/111445.html

相关文章:

  • 国内高端医疗网站建设有关网站建设的外文文献
  • 如何让百度快速收录新网站四川省建设信息网
  • 有名网站建设公司wordpress增加访问量
  • 公司网站与营销网站区别wordpress 按字数 广告
  • 企业网站产品优化怎么做拷问wordpress
  • 如何搭建一个个人网站c 网站开发连接mysql
  • 网站开发是哪个职位河源和平县建设局网站
  • 闵行网站建设哪家好如何导出WordPress主题
  • 什么叫做门户网站santino wordpress
  • 公司网站建设哪个好个人网页设计说明书的设计目的
  • 浠水做网站的wordpress加字体
  • 网页设计制作一个餐饮网站盘锦网站建设价格
  • 网站开发合同官司如何用VS2017做网站
  • 公司网站建设及安全解决方案不备案的网站需要注销吗
  • 找人开发一个网站多少钱wordpress 页面二维码
  • 网站开发需要学什么找婚庆公司去什么网站
  • html网站开发开题报告范文企业网站建设的成本构成
  • 鄂州网站设计效果wordpress更好用吗
  • 绿色网站配色公司网站建设计划书
  • 网站建设选用平台分析电子商务网站开发技术支持
  • 做我的世界壁纸的网站站长工具seo综合查询可以访问
  • 金华网站建设制作做一个网上商城网站建设费用多少
  • 亚马逊网站推广怎么做免费网站建设魔坊
  • 搭建网站 软件精品网站建设费用 干净磐石网络
  • 网站管理模式wordpress 文章幻灯片
  • 网站域名出售重庆二建电子证书怎么下载
  • 常州网站建设推荐可以直接做海报的网站
  • 淘宝页面设计的网站什么是网页开发
  • 企业商城网站建设价格wordpress 最热文章
  • 游戏网站开发什么意思百度经验官网登录