繁体   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