到目前为止,我已经使用以下代码将某些方法的应用限制在某些类的实例中。例如,使用ItemListener
, 但这可以应用于很多事情,
public class mListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
if (!(e.getItemSelectable instanceof JCheckBox)) { //again, JCheckBox was chosen arbirtarily
System.err.println("mListener can only be applied to a JCheckBox");
return;
}
}
}
但是,在Oracle Java教程的一些地方,我看到了以下代码
public class mListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
JCheckBox box = null;
try {
box = (JCheckBox) e.getItemSelectable();
} catch (ClassCastException ex) {
System.err.println("mListener can only be applied to a JCheckBox");
return;
}
}
}
锁定您不希望应用方法的类的最佳方法是什么?在实现接口的情况下尤其如此,其中参数无法更改。