java api 定义了几个具有相同名称的泛型和非泛型 - 如 LinkedList
等。它们都使用相同的语句 import java.util.LinkedList;
。但是在一个包中,.java 文件中可能只有一个公共(public)类(具有相同的名称)。
那我们能不能达到同样的效果呢?我尝试了以下代码:
package org.****.ai.ass1.part1;
import java.util.LinkedList;
public abstract class Test extends LinkedList { }
//public abstract class Test<E> extends LinkedList<E> { }
没有注释,我得到以下错误:类型 Test 已定义
。但是,如果我评论另一行,这两行都会编译。那么java api是怎么做到的呢?
最佳答案
由于 Java 实现泛型的方式(Google 的类型删除),LinkedList<T>
和 LinkedList
代表完全相同的类型。无法使用相同的完全限定名称声明两种不同的类型,一种是通用的,另一种不是。
关于java - 具有相同名称的通用和非通用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721713/