我应该投什么类型?

时间:2010-06-23 16:13:20

标签: java oop

我有一个带有方法的表单类:

IText getSearchField()

IText接口是由JTextField的子类MyTextField实现的。

由于我无法控制的原因,我无法从MyTextFieldJTextFieldComponentMyTextField类型中的任何其他类型的表单类中获取控件层次结构。

我正在从驱动程序对象访问表单类对象,并希望让驱动程序将焦点设置到getSearchField()调用检索到的搜索字段上。

我可以使用requestFocusInWindow()类的Component方法来执行此操作。但是,首先我需要将getSearchField()调用的结果转换为MyTextField类型层次结构中的内容,因为对getSearchField()的调用会返回IText

我的问题是,我应该投身MyTextField吗?到Component?介于两者之间?

为什么呢?哪个会最快?

1 个答案:

答案 0 :(得分:6)

根据您的需要进行投射。也就是说,如果A是B的超类,并且您只需要A中的方法,则转换为A.如果您还需要B中的方法,则转换为B.

哪个会最快?你为什么这么问?这没有什么区别。