如何手动创建Type T的实例?

时间:2016-09-21 11:48:21

标签: java

我有这个

public interface ScreenObject<PK> extends ScreenRenderable {

    public PK getPrimaryKey();  
    public String getTypeName();
}

如何创建此对象的手动实例?我试过了

 ScreenObject<PK>  p2 = new ScreenObject<PK>("hello", "world");

但这不起作用。 做建议!提前谢谢。

1 个答案:

答案 0 :(得分:0)

您无法为界面创建对象。要创建对象,您应该提供一个实现类并实现所有抽象方法。

根据你的问题,你应该做这样的事情

public class ImplClass<PK> implements ScreenObject<PK> {

      // create a constructor with two String arguments

      public ImplClass(String obj1, String obj2) {
            //write your logic
      }

      // Do all the implementations for the abstract classes.
}

然后您可以通过

创建实例
ScreenObject<Type Parameter> p2 = new ImplClass<> ("Hello", "World");

请参阅here以了解有关接口的更多信息

注意:PK是一个类型参数,可以让您编写通用代码。有关详细信息,请参阅here