A扩展B,我可以在A的构造函数中引用B子项吗?从父类构造对象
public A(B b)
{
/*(B)this = b*/
}
如果不是,我如何用B对象构造一个目的?,我的意思是其它,使用Cloneable的创造一些其它实例或流出JLS(推土机,BeanUtils的,等等)的溶液。简而言之,A构造函数将如何使代码运行?
B b = new B("hi");
A a = new A(b);
assertequals(a.getSalute(), "hi");//ok so far
a.setSalute("hola");
assertequals(b.getSalute(), "hola");//A maintains a reference to B
f(a);//prints hola
f(b);//prints hola as well
在此先感谢
你想达到什么目的?如果您的意思是从'A'投射到'B',则无法工作,因为您无法构建层次结构。 – Kevin 2011-04-04 18:22:08
我想在这里......“如何构建一个B对象的对象”,你想创建一个新的'狗'与给定的'动物'对象? (狗延伸动物)但是,_this_'狗'会变成_that_'动物'? – Ishtar 2011-04-04 18:31:01
你是对的,我不会流利的Java语言,我认为Java语言将允许A对象中的B'suboject'以其他语言的方式引用其他B对象。 – user311174 2011-04-05 16:23:31