当前位置: 首页 > 知识库问答 >
问题:

编译器不喜欢重写

白子默
2023-03-14

我用的是jdk 6。

我有一个界面:

    public interface DisplayValueListener<P>  {

         ...

         void setDisplayValue(P value, String reprValue);
    }

我有一个名为Widget的抽象类,它实现了DisplayValueListener,并声明如下:

    public abstract class Widget<P> implements DisplayValueListener<P> {

        ...

        @Override
        public void setDisplayValue(final Object value, final String reprValue) {
            ...
        }
    }

我还有另一个像这样扩展Widget的抽象类:

    public abstract class CameraWidget extends Widget<Void> {

        ...

        @Override
        public void setDisplayValue(final Void value, final String reprValue) {
        }
    }

这是我从NetBeans中的编译器得到的信息:

名称冲突: setDisplayValue(Void, String)在相机Widget覆盖一个方法,其擦除与另一个方法相同,但都不覆盖另一个第一个方法:setDisplayValue(Object, String)在Widget第二个方法:setDisplayValue(P, String)在DisplayValueListener中,其中P是一个类型变量:P扩展在接口DisplayValueListener中声明的Object

有人能告诉我问题是什么吗?为什么Eclipse中的编译器(与jdk 6相同)对此感到满意?

共有1个答案

燕昊东
2023-03-14

重写该方法时,需要使用类中的泛型参数P小部件:

 @Override
 public void setDisplayValue(final P value, final String reprValue) {
     ...
 }

Eclipse使用自己的Java编译器而不是javac,有时这两个编译器对Java规范的解释不同。

 类似资料:
  • 问题内容: 是否可以在一个查询中将多个SQL LIKE通配符串在一起-像这样? 目的是查找同时包含通配符但没有特定顺序的记录。 问题答案: 正确的SQL语法是:

  • 喜欢资讯 取消喜欢资讯 资讯喜欢列表 喜欢资讯 POST /news/{news}/likes Response Headers Status: 201 Created 取消喜欢资讯 DELETE /news/{news}/likes Response Headers Status: 204 No Content 资讯喜欢列表 GET /news/{news}/likes Respons

  • 点喜欢 取消喜欢 喜欢的人列表 点喜欢 POST /feeds/:feed/like Response Status: 201 Created { "message": [ "操作成功" ] } 通知类型 { "channel": "feed:digg", // 通知关键字 "target": 325, // 动态id "content": "@2222 点喜欢了

  • 问题内容: 码 输出量 这是预期的行为吗?如果是这样,那为什么呢?我期望:char,Int 注意:我正在使用Java 8 问题答案: 当编译器确定选择哪种重载方法时,带有varargs()的方法具有最低的优先级。因此,当您使用单个参数调用时会选择,因为a 可以自动提升为。 JLS 15.12.2 : 第一阶段(第15.12.2.2节)执行重载解析 ,不允许 装箱或拆箱转换,也 不允许 使用可变Ar

  • 本文向大家介绍你最喜欢用哪些编辑器?喜欢它的理由是什么?相关面试题,主要包含被问及你最喜欢用哪些编辑器?喜欢它的理由是什么?时的应答技巧和注意事项,需要的朋友参考一下 vscode。可以灵活安装不同插件,真正做到了一个编辑器,适配所有的编程语言。 它和virtual stuido理念不同,vs是想把所有的都集成到一起,导致它的安装包越来越庞大,臃肿,而vscode凭借插件运行机制,即插即用,非常灵

  • 我在PostgresQL中有一个表feed_item_likes_dislikes(feed_item_id,user_id,vote),其中 feed_item_id是uuid 用户id为整数 投票=正确那么这是一个类似 投票=FALSE那么这是一种厌恶 vote=NULL表示用户最初喜欢或不喜欢,但通过取消通知返回并删除了投票 我还有另一个表feed_item_likes_dislikes_a