簡體   English   中英

泛型和子類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM