情况是这样的:A.java
public class A
{
private B instanceB;
public A(B argB)
{
instanceB = argB;
}
} B是一个对象,现在又有一个对象C,我怎样改A.java才能动态地为instanceB赋值呢,无论参数是传B或是C.
public class A
{
private B instanceB;
public A(B argB)
{
instanceB = argB;
}
} B是一个对象,现在又有一个对象C,我怎样改A.java才能动态地为instanceB赋值呢,无论参数是传B或是C.
你能用 C 代替 B,应该C有B的所有功能对吧?那么C应该是B的子类
所以在调用时
原来:
A objA=new A(new B());
要换成C:
A objA=new A(new C());
-----------------------------
你是说这样?
public class A
{
private B instanceB; public void setInstanceB(B arg)
{
this.instanceB = arg;
} public A()
{
instanceB...
}
}
如果是这样的话,instance与arg应该写成什么类型呢?Object?Class?
-----------------------------------
抱歉,B与C不是子与父的关系,所以不能对A进行向上的转换.比如说B与C都是一个MID窗口中的小窗口的实例.
那么直接改为A.java
public class A
{
private Object instanceB;
public A(Object argB)
{
instanceB = argB;
}
}不过这样在开发上好象没意思了
-----------------------------------
抱歉,B与C不是子与父的关系,所以不能对A进行向上的转换.比如说B与C都是一个MID窗口中的小窗口的实例.那他们有共同的父类啊,用这个父类
现在有二个窗口,二个窗口上都有一个Button组件(二个窗口的button无论属性与事件都是相同的,但各自窗口还有其他自己的组件),我想用写一个类,类中有个方法对窗口button组件进行操作,而传入的参数来识别要对哪个窗口进行操作.