我有一个内部类,它扩展了AbstractTableModel。
import javax.swing.table.AbstractTableModel;
public class MyClass extends MyAbstractClass {
...
public static class MyTableModel extends AbstractTableModel {
}
...
}
编译器给了我以下错误。
...MyClass.java:190: error: cannot find symbol
public static class MyTableModel extends AbstractTableModel {
^
symbol: class AbstractTableModel
location: class MyClass
更换时
MyTableModel extends AbstractTableModel
至
MyTableModel extends javax.swing.table.AbstractTableModel
一切都很好。
我使用Gradle来构建这个项目。在我转到Gradle之前,我使用Eclipse来构建这个项目。我对Eclipse没有问题,只有当我使用Gradle构建时才会出现错误。
你知道这种奇怪行为的原因是什么吗?
错误是由我的进口订单引起的。MyTableModel包含一个MyTableListener接口,该接口也由MyClass.java导入。
import MyClass.MyTableModel.MyTableListener;
...
import javax.swing.table.AbstractTableModel;
...
public class MyClass extends MyAbstractClass {
...
public static class MyTableModel extends AbstractTableModel {
public interface MyTableListener {
public void entryChanged();
}
...
}
...
}
当我将MyTableListener导入放在AbstractTableModel导入之前时,Gradle会出现找不到符号错误。
当我把AbstractTableModel导入放在MyTableListener导入之前时,一切都很好。
到目前为止还不错,但是为什么在使用Eclipse构建时导入顺序不是问题呢?!