为什么 Netbeans 找不到接口实例的方法?
Why Netbeans does not find the methods of an interface instance?
我有一个 class:
public class JWHTMLPage implements JWDisplayable {
...
}
一个接口:
public interface JWDisplayable {
public void addCSS(String link);
public void addJS(String link);
public void setViewport(String content);
public void appendToBody(String html);
public void updateHTML();
}
还有一个class:
public class JWHTMLPageMap<String, JWHTMLPage> implements Map<String, JWHTMLPage>, JWDisplayable {
...
}
在 JWHTMLPageMap 中,我覆盖了 addCSS 方法。问题是 NetBeans 的自动完成没有找到 JWHTMLPage:
的方法
它将页面视为一个对象,但它是一个 JWHTMLPage,它在 JWDisplayable 中实现了所有这些方法。我究竟做错了什么??没有意义。
你的问题肯定出在这行:
public class JWHTMLPageMap<String, JWHTMLPage> implements Map<String, JWHTMLPage>, JWDisplayable {
你可能没有编译错误,但它不正确,因为你正在使用现有的 classes,就好像它们是正式的通用参数,然后真正的 class 将被隐藏通用参数
所以改用:
public class JWHTMLPageMap<S extends String, J extends JWHTMLPage> implements Map<S, J>, JWDisplayable {
这可能会生成类似以下内容的警告:类型参数 S 不应受最终类型 String 的限制。 Final 类型无法进一步扩展(因为 String 是最终类型)
所以你为什么不直接写:
public class JWHTMLPageMap<J extends JWHTMLPage> implements Map<String, J> , JWDisplayable {
我有一个 class:
public class JWHTMLPage implements JWDisplayable {
...
}
一个接口:
public interface JWDisplayable {
public void addCSS(String link);
public void addJS(String link);
public void setViewport(String content);
public void appendToBody(String html);
public void updateHTML();
}
还有一个class:
public class JWHTMLPageMap<String, JWHTMLPage> implements Map<String, JWHTMLPage>, JWDisplayable {
...
}
在 JWHTMLPageMap 中,我覆盖了 addCSS 方法。问题是 NetBeans 的自动完成没有找到 JWHTMLPage:
的方法它将页面视为一个对象,但它是一个 JWHTMLPage,它在 JWDisplayable 中实现了所有这些方法。我究竟做错了什么??没有意义。
你的问题肯定出在这行:
public class JWHTMLPageMap<String, JWHTMLPage> implements Map<String, JWHTMLPage>, JWDisplayable {
你可能没有编译错误,但它不正确,因为你正在使用现有的 classes,就好像它们是正式的通用参数,然后真正的 class 将被隐藏通用参数
所以改用:
public class JWHTMLPageMap<S extends String, J extends JWHTMLPage> implements Map<S, J>, JWDisplayable {
这可能会生成类似以下内容的警告:类型参数 S 不应受最终类型 String 的限制。 Final 类型无法进一步扩展(因为 String 是最终类型)
所以你为什么不直接写:
public class JWHTMLPageMap<J extends JWHTMLPage> implements Map<String, J> , JWDisplayable {