这是代码部分
b1=new Button("yes");
b2=new Button("no");
b3=new Button("maybe");
bList=new Button[3];
bList[0]=(Button)add(b1);
bList[1]=(Button)add(b2);
bList[2]=(Button)add(b3);
b1,b2,b3和bList []已经被声明。我问的问题是当bList是Button类型而b1 / b2 / b3是Button类型时为什么我需要在分配时将它强制转换为Button他们到bList数组?
答案 0 :(得分:1)
您调用的add
method是从Container
继承的。它需要Component
,将其添加到自身,并返回相同的Component
,因此返回的Component
需要返回Button
。
如果线
,则无需演员表List[0]=(Button)add(b1);
分为两个陈述(并且更清楚)。
List[0] = b1;
add(b1);
答案 1 :(得分:0)
好吧,我现在明白了。 add()返回一个组件对象。这就是我们需要将它强制转换为Button类型
的原因