java - java中的代码解释

标签 java inheritance syntax

我遇到了一段代码。这行代码到底意味着什么? public class Queue<E extends Element>{我知道 E 可以是任何对象,但为什么要添加 extends Element 。 Element 是一个单独的类,包含 2 个变量 + getter 和 setter。使用该语法的优点/缺点是什么?

最佳答案

这意味着您可以创建 Queue<E> 的具体实例仅当 E延伸Element 。例如,这个声明将会失败:

Queue<String> q; // Invalid

...因为String不扩展Element .

它很有用,因为在 Queue<E> 的实现中,你(和编译器)知道 E具有 Element 的属性和方法,因此您可以使用它们。如果声明只是 public class Queue<E>{ ,那么如果您尝试使用 Element E 的属性或方法- 类型参数和成员,编译器会提示,因为 Object 上不存在这些属性/方法.

关于java - java中的代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311350/

相关文章:

mysql - mysql语法错误

python - 在 python 2.7 中导入 nltk 的语法无效

mysql - 无论是否在子查询中,WHERE 子句都会给出不同的结果

java - 无法解析为类型错误

java - 将 List<SubClass> 转换为 List<BaseClass> 的最有效方法

java - 使用PrepareCall方法将参数传递给函数并返回计数值

javascript - JS 继承示例 : too much recursion

python - 如何子类化 scipy.stats.norm ?

java - 在 Eclipse 中更新 Maven 的版本?

Java:使用 get 方法获取参数,例如在一个字符串中发送