CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

关于引用传递/继承,解决问题,立即结贴

楼主lci21(元戈)2002-11-20 15:33:53 在 Java / J2SE / 基础类 提问

class   A  
  {  
  ...  
  }  
  class   B   extends   A  
  {  
  ....  
  }  
  class   C   extends   A  
  {  
  ....  
  }  
  已知B和C拥有完全相同的属性和方法  
  B   b=...;  
  C   c=new   C();  
  请问,如何才能把b对象的属性全部赋给c?  
  一个一个的赋值太麻烦,能否考虑采用引用传递?  
  该怎样解决?谢谢!  
   
   
  问题点数:40、回复次数:10Top

1 楼zsz2000()回复于 2002-11-20 15:43:02 得分 0

你应该把相同的属性和方法放到A中Top

2 楼beyond_xiruo(CorruptionException)回复于 2002-11-20 16:08:18 得分 20

B   b=new   B();  
  C   c=(C)b.clone();  
  用clone试试Top

3 楼lci21(元戈)回复于 2002-11-20 16:24:18 得分 0

问:  
  如果B和C的属性有所不同,怎么办?Top

4 楼study_body(珍惜每一天)回复于 2002-11-20 16:26:57 得分 0

完全相同为什么还用两个呢?  
  Top

5 楼lci21(元戈)回复于 2002-11-20 16:46:23 得分 0

因为是由两个数据表生成的数据对象,这两个表字段相同,一个表是存放临时信息,另一个存放永久数据Top

6 楼title(桶漆底脱)回复于 2002-11-20 17:03:26 得分 10

当然是用clone了,用发楼上的说了。clone是拷贝变量所有值包括类的内部变量值。copy也可以拷贝,但是区别就是只能以初始化的形式创建要实现的类。Top

7 楼ilka()回复于 2002-11-20 19:19:21 得分 10

别忘了  
  class   B   extends   A   implements   Cloneable  
  {  
          Object   o   =   null;  
          public   Object   clone()  
          {        
                  try{o   =   super.clone();}catch(CloneNotSupportedException   e){}  
          }  
          return   o;  
  }Top

8 楼ilka()回复于 2002-11-20 19:23:53 得分 0

如果两张表的数据永远是一样的,只需有B,C没有存在价值。  
  如果两张表的数据不是永远一样的,用clone(),千万不要用引用传递,那会导致,B,C永远是一样的。Top

9 楼ilka()回复于 2002-11-20 19:25:44 得分 0

在编程是要注意:  
          尽量在同一时刻,不要存在两个reference指向同一个对象。  
  Top

10 楼lci21(元戈)回复于 2002-11-21 09:19:16 得分 0

现在突然发现,两张表的主键字段名不同(导致由这两张表生成的数据对象类有一个属性不同,其余都相同),问是否还能用clone方法,别的有没有简便的方法?Top

相关问题

  • =====>>>>各位大虾,谁能总结一下值传递,指针传递,引用传递分别在什么情况下使用?欢迎光临!!
  • 关于值传递和引用传递的小问题
  • 函数调用(按值传递和按引用传递?).....
  • C#中,如何将一个引用型的结构(struct)参数传递给WebService的方法
  • 方法的参数的按值传递或按引用传递问题?为什么方法可改变类的值,却不改变结构的值?
  • Java中的"值传递"和"引用传递"各是用在什么情况下?"弱引用机制"是"引用传递"吗?
  • *** 有人在家吗? 参数引用问题, LPVOID参数 传递引用
  • 类的继承中的指针,引用问题:
  • 继承自己的类时,如何建立引用?
  • 求助主题:用户控件、引用、继承

关键词

  • 属性
  • 数据
  • 引用传递
  • clone
  • 表
  • 对象
  • 一样
  • 方法
  • extends

得分解答快速导航

  • 帖主:lci21
  • beyond_xiruo
  • title
  • ilka

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo