当前位置: 技术问答>java相关
关于引用传递/继承,解决问题,立即结贴
来源: 互联网 发布时间:2015-11-09
本文导语: class A { ... } class B extends A { .... } class C extends A { .... } 已知B和C拥有完全相同的属性和方法 B b=...; C c=new C(); 请问,如何才能把b对象的属性全部赋给c? 一个一个的赋值太麻烦,能否考虑采用引用传递? 该怎样解决?谢...
class A
{
...
}
class B extends A
{
....
}
class C extends A
{
....
}
已知B和C拥有完全相同的属性和方法
B b=...;
C c=new C();
请问,如何才能把b对象的属性全部赋给c?
一个一个的赋值太麻烦,能否考虑采用引用传递?
该怎样解决?谢谢!
{
...
}
class B extends A
{
....
}
class C extends A
{
....
}
已知B和C拥有完全相同的属性和方法
B b=...;
C c=new C();
请问,如何才能把b对象的属性全部赋给c?
一个一个的赋值太麻烦,能否考虑采用引用传递?
该怎样解决?谢谢!
|
B b=new B();
C c=(C)b.clone();
用clone试试
C c=(C)b.clone();
用clone试试
|
当然是用clone了,用发楼上的说了。clone是拷贝变量所有值包括类的内部变量值。copy也可以拷贝,但是区别就是只能以初始化的形式创建要实现的类。
|
别忘了
class B extends A implements Cloneable
{
Object o = null;
public Object clone()
{
try{o = super.clone();}catch(CloneNotSupportedException e){}
}
return o;
}
class B extends A implements Cloneable
{
Object o = null;
public Object clone()
{
try{o = super.clone();}catch(CloneNotSupportedException e){}
}
return o;
}