展开全部
前几条回答说的很好,A与B之间没有继承关系,是没有办法直接转换的,我这62616964757a686964616fe59b9ee7ad9431333332633062里给你几个转换的想法。
1、在A类或者B类中加入对方的引用:class A{
private B bClass;
}
class B{
private A aClass;
}
使用时可以通过某些方法初始化或者获取另一个类,这个方法缺点就是比较冗余。
2、看你这里应该是A为子类,就建立一个新类B2继承自B,在其中有A类的引用,这样就可以用B2类代替A:class B2 extends B{
private A aClass;
public B2(){
this.aClass=new A();
}
public B2(A a){
this.aClass=a;
}
public setA(int a){
this.aClass.set(a);
}
//其他类似方法
//……
public A toAClass(){
return aClass;
}
}
//转换代码
A a=((B2)b).toAClass();//B to A
B b=new B2(a);//A to B