我有一个母类,比如:
class A {
private a;
private b;
a,b的get,set方法}class B extends A {
private c;
c的get,set方法
}
我new了一个A的类A classA = new A(),classA赋了值,这时我感觉A不够用想用它的子类,这里想把calssA的值也传过去,这时候怎么做呢?不要说一个个传,也不要用得到方去循环自动赋值的方法.
class A {
private a;
private b;
a,b的get,set方法}class B extends A {
private c;
c的get,set方法
}
我new了一个A的类A classA = new A(),classA赋了值,这时我感觉A不够用想用它的子类,这里想把calssA的值也传过去,这时候怎么做呢?不要说一个个传,也不要用得到方去循环自动赋值的方法.
如果A有好多个子类呢,比如除了B,还有E,F,G,H等呢? 你如何去判断
你想要B的方法,直接new B不就可以了嘛
B classB = new classB();
B.setA(classA.getA());
....可是这里如果属性很多呢??二,是用Mathed类去循环做
这种我不是很喜欢
三,就是克隆
其实我是想让你们加答我克隆的做法,只是我没点破
回为我记得以前克隆做起来是很方便的,只要一句话就行了.
请先看完问题
A classA = new classA();
B classB = new classB();
比如说classA的每个属性a,b可能还有更多,里面有值了
由于媒些原因,我要把classA传值传到别一个对像里面去了,而这时候我又要传calssB里面的属性c值,我不想把classA,classB两个对象一起传过去,因为B是A的子类所以classB中的属性包含了classA的所有属性,所以我想把classA的值传给classB,这样只要把classB这一个对象传过去就行了,这样说懂不?
呵呵,发现你很小孩子,总说一些一厢情愿的话,先不说这里不能用B去代替A,就算可以,我这里想讨论的是一个方法,多知道一种方法总不会错吧,以后哪天就有用了。干嘛一定要动那歪脑筋
我觉得楼主的想法是不可能实现的:
按照正常的思路,首先你要获取B的基类,而且还是必须获取它的引用,然后再把A的实例赋给它,无论是通过clone或者其他方式,但是问题在于,你如何能获取B的基类的引用?
这么说我就死心了,我在网上得到的结论也是这样,可是不敢断论,哈哈
如果不能修改A的话, 这种方式就不行了