Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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 所有变量方法重写_Java_Generics_Overriding - Fatal编程技术网

Java 所有变量方法重写

Java 所有变量方法重写,java,generics,overriding,Java,Generics,Overriding,考虑这样一个场景:我们有两个通过继承关联的类 class Parent { } class Child extends Parent{ } 如果Parent声明了具有以下签名的方法: public String method(Number n) / /parent 1 public <T extends Number> String method(T t) //parent2 我知道在Child中,我可以用以下命令声明方法 签名(应被覆盖) 但如果父项包含以下

考虑这样一个场景:我们有两个通过继承关联的类

class Parent {    
}

class Child extends Parent{   
}
  • 如果
    Parent
    声明了具有以下签名的方法:

    public String method(Number n) / /parent 1
    
    public <T extends Number> String method(T t) //parent2
    
    我知道在
    Child
    中,我可以用以下命令声明方法 签名(应被覆盖)

  • 但如果父项包含以下签名:

    public String method(Number n) / /parent 1
    
    public <T extends Number> String method(T t) //parent2
    

    publicstringmethod(tt)//child 2_2
    

  • 是否有其他变量可用于覆盖parent1或parent2?

    如果您只查找一个变量,那么如何执行以下操作-

    public String method(Number n) throws RuntimeException
    
    或者

    公共字符串方法(tn)引发RuntimeException
    


    另外,另一个不适用于
    String
    的情况,因为它是最终的,即允许重写方法在父级中返回返回类型为return的子类型。

    yes!在Child中,我可以标记@override我假设一个Child可以采用不太具体的输入类型(Object),从而覆盖/屏蔽父调用。例如,公共字符串方法(对象t)——以及该方法的泛型类型变体。
    公共字符串方法(编号n)抛出RuntimeException、SomeOtherException等。在检查异常的情况下,它必须是相同的异常或父类中异常的某个子类,否则是不允许的。例如,如果父类中的方法抛出所有已检查异常的超类
    异常
    ,则子类版本可以决定仅抛出检查异常
    FileNotFoundException
    public String method(Number n) throws RuntimeException
    
    public <T extends Number> String method(T n) throws RuntimeException