Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t重写Vaadin组合框的getValue()方法 @覆盖 公共E getValue(){ 返回(E)super.getValue(); }_Java_Overriding - Fatal编程技术网

Java Can';t重写Vaadin组合框的getValue()方法 @覆盖 公共E getValue(){ 返回(E)super.getValue(); }

Java Can';t重写Vaadin组合框的getValue()方法 @覆盖 公共E getValue(){ 返回(E)super.getValue(); },java,overriding,Java,Overriding,为什么这个覆盖不起作用? Idea返回的错误是两个方法具有相同的擦除,但它们没有相互覆盖 编辑: 无法重载每个重载的形式参数类型擦除为相同原始类型的方法 一个类不能有两个重载方法,它们在类型擦除后将具有相同的签名 @Override public <E extends Enum<E>> E getValue(){ return (E) super.getValue(); } 公共类示例{ 公共作废打印(集合strSet){} 公共无效

为什么这个覆盖不起作用? Idea返回的错误是两个方法具有相同的擦除,但它们没有相互覆盖

编辑:

无法重载每个重载的形式参数类型擦除为相同原始类型的方法

一个类不能有两个重载方法,它们在类型擦除后将具有相同的签名

  @Override
    public <E extends Enum<E>> E getValue(){
        return (E) super.getValue();
    }
公共类示例{
公共作废打印(集合strSet){}
公共无效打印(Set intSet){}
}
重载将共享相同的类文件表示,并将生成编译时错误


来源:

正在运行时擦除参数类型。所以签名是相同的

详情请点击这里

public class Example {
    public void print(Set<String> strSet) { }
    public void print(Set<Integer> intSet) { }
}