问题描述
我对练习考试中的一个问题感到困惑。
在Java中,Integer类扩展了基本抽象类Number。 现在,假设我们有一个带有签名的方法,如下所示:
public <T extends Number> T method( Integer x ) {...}
对于以下每个内容,在空格中写上“可以”或“不能”以正确完成语句。
方法______接受扩展了Integer类型的任何输入
我很困惑,因为当我尝试创建自己的扩展Integer的类时,IntelliJ告诉我“无法从最终的'java.lang.Integer'继承”。
如果我不能从Integer类继承,那么我将如何给出首先“扩展Integer”的输入?
1楼
该声明的表述方式很糟糕。
我希望这样写是为了让学生感到困惑,而不是因为他们忘记了原始类型的包装器是final
类。
因此,要回答您的问题,答案将是“ 不能 ”。
但是,如果可以,请与您的教授或考官澄清这一点。
2楼
您应该研究 。 您不能扩展声明为final的类
3楼
Java的Integer类是final
类,不能继承。
public final class Integer extends Number implements Comparable<Integer>