在Java中,泛型类可以包含嵌套类。当泛型类型参数化嵌套类时,它允许你在类级别和实例级别上定义类型参数。这为代码提供了更好的封装和类型安全。以下是一个泛型Java类中泛型类型参数化嵌套类的示例:
public class OuterClass<T> {
// 类级别的类型参数
private T data;
// 泛型类型参数化嵌套类
public class InnerClass<U> {
// 实例级别的类型参数
private U innerData;
public InnerClass(U innerData) {
this.innerData = innerData;
}
public U getInnerData() {
return innerData;
}
public void setInnerData(U innerData) {
this.innerData = innerData;
}
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public InnerClass<U> createInnerClass(U innerData) {
return new InnerClass<>(innerData);
}
}
在这个例子中,OuterClass
是一个泛型类,它有一个类型参数 T
。InnerClass
是 OuterClass
的一个嵌套类,它也有一个类型参数 U
。这意味着你可以在创建 OuterClass
的实例时为 T
和 U
提供不同的类型。例如:
OuterClass<String> outer = new OuterClass<>();
outer.setData("Hello, world!");
OuterClass.InnerClass<Integer> inner = outer.createInnerClass(42);
System.out.println("Outer data: " + outer.getData());
System.out.println("Inner data: " + inner.getInnerData());
这将输出:
Outer data: Hello, world!
Inner data: 42
在这个例子中,我们创建了一个 OuterClass
的实例,其中 T
的类型为 String
,以及一个 InnerClass
的实例,其中 U
的类型为 Integer
。这展示了泛型类型参数化嵌套类在Java中的强大功能和灵活性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。