我有一个类似的课程:
package com.example;
public abstract class AbstractClass<S> {
//stuffs
}
然后是一个扩展它的类,并将泛型定义为其自己的内部类:
package com.example2;
import com.example.AbstractClass;
import com.example2.MyObject.MyObjectInnerClass;
public class MyObject extends AbstractClass<MyObjectInnerClass> {
//other stuffs
public static class MyObjectInnerClass {
}
}
如果com.example2.MyObject.MyObjectInnerClass
保留在同一文件中,为什么需要导入?
嵌套(不是内部)类MyObjectInnerClass
仅在{
内部以不合格的名称存在,该名称在extends
条款中使用后才出现。更传统的书写方式是:
import com.example.AbstractClass; public class MyObject extends AbstractClass<MyObject .MyObjectInnerClass> {
它需要知道您的意思是什么类-您也可以将MyObjectInnerClass作为与MyObject相同的包中的类。对此类的无导入引用将恰好指向该类。
MyObject.MyObjectInnerClass
来强调两者之间的关系。