我有一个扩展 JDialog 的对话框类。这个类中的一个方法是这样的:
public char getType()
{
return ((String)fileTypeCombo.getSelectedItem()).charAt(0);
}
其中 fileTypeCombo 是这样的:
JComboBox fileTypeCombo = new JComboBox(
new String[] { "Local", "Shared", "Remote" } );
当我尝试使用 Java 7 进行编译时,出现以下错误:
[javac] /home/satin/decodes-8.0/lrgs/gui/NetlistDialog.java:112: error: getType() in NetlistDialog cannot override getType() in Window
[javac] public char getType()
[javac] ^
[javac] return type char is not compatible with Type
它可以在 Java 6 中正常编译。
问候。
最佳答案
这是因为Window class中添加了一个方法在 Java 7 中。
父类(super class) Window
在 Java 7 中具有用于方法签名的 public Window.Type getType()
。您尝试重写该方法,但正在返回char
而不是 Window.Type
对象,因此发生编译错误。
在 Java 6 that method doesn't exist ,这样您就不会收到任何错误。
关于java-7 - Java 7 中的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064889/