[英]Generics and subtyping
創建一個具有通用類型
T
。 該類的子類定義了第二個類型參數,稱為V
使用對象從兩個類中調用方法。 用不同的對象創建2個對象
這是問題。
如果有人想,這不是功課。 我正在練習一些Java論文。 我不明白如何“用不同的對象創建2個對象”。 有人可以幫忙嗎?
class Gen<T>
{
T obj;
Gen(T ob)
{
obj = ob;
}
T getobj()
{
return obj;
}
}
class Gen2<T, V> extends Gen<T>
{
V obj1;
Gen2(T ob,V ob1)
{
super(ob);
obj1 = ob1;
}
V getobj1()
{
return obj1;
}
}
public class Ch2Lu4Ex3
{
public static void main(String args[])
{
Gen2<String,String> g = new Gen2<String,String>("robin","raj");
System.out.println(g.getobj1());
System.out.println(g.getobj());
}
}
問題的最后一部分:
用不同的對象創建2個對象
Gen2<Integer,String> inst = new Gen2<Integer,String>(1, "robin");
好吧,您可以執行以下操作:
Gen<Integer> gen1 = new Gen<Integer>(10);
Gen2<Integer> gen2 = new Gen2<Integer,String>(10,"Hello");
或者,您可以將它們組合在一起,因為它們在同一層次結構中。
Gen<Integer> gen1 = new Gen2<Integer,String>(10,"Hello");
您是否要求類似:
Gen2<String,String> g = new Gen2<String,String>("robin","raj");
Gen2<Integer,Integer> h = new Gen2<Integer,Integer>(1, 2);
還是我誤會了你的問題?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.