{public <t extend =“” number =“”> T method(Integer x){...}`可以接受扩展Integer类型的输入吗?

时间:2019-03-03 01:24:28

标签: java generics inheritance integer

我对练习考试中的一个问题感到困惑。

  

在Java中,Integer类扩展了基本抽象类Number。现在,假设   我们有一个签名如下的方法:

     

public <T extends Number> T method( Integer x ) {...}

     

对于以下各项,请在空白处填写“可以”或“不能”以正确填写   声明。

     

______方法接受扩展了Integer类型的任何输入

我很困惑,因为当我尝试创建自己的扩展Integer的类时,IntelliJ告诉我“无法从最终的'java.lang.Integer'继承”。

如果我不能从Integer类继承,那么我将如何给出首先“扩展Integer”的输入?

3 个答案:

答案 0 :(得分:2)

那句话的表述很糟糕。我希望这样写是为了使学生感到困惑,而不是因为它们忘记了原始类型的包装器是final类。

因此,要回答您的问题,答案将是“ 不能”。
但是,如果可以,请与您的教授或考官澄清这一点。

答案 1 :(得分:0)

您应该查看javadoc。您不能扩展声明为final的类

答案 2 :(得分:0)

Java的Integer类为Comparable,不能继承。

final