Мы обновляем проект Java 6 до Java 8. Повторная компиляция с Java 8 дает ошибки в подклассе java.awt.Frame, я упрощен к следующему:
орг/пример/Foo.java
package org.example;
import org.example.Type;
import java.awt.Frame;
public class Foo extends Frame {
public Foo() {
System.out.println(Type.BAZ); // <=== error here, BAZ cannot be resolved
}
}
орг/пример/Type.java
package org.example;
public class Type {
public static final int BAZ = 1;
}
То, что, похоже, происходит, - это статическое перечисление java.awt.Window.Type, введенное в Java 7, имеет приоритет, даже если есть импорт для org.example.Type. Правильно ли это?
Означает ли это, что нам придется полностью квалифицировать все ссылки на наш тип с помощью org.example.Type?