2016-09-21 2 views
1

я этоКак вручную создать экземпляр типа T?

public interface ScreenObject<PK> extends ScreenRenderable { 

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

Как создать вручную экземпляр этого объекта? я попробовал

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

Но это не сработает. Успокойтесь! заранее спасибо.

+1

'ScreenObject' - это интерфейс. Вы не можете создать экземпляр. Вы либо найдете класс, который реализует его, либо реализует его самостоятельно. – dejvuth

+0

И 'PK' - это параметр типа - вам нужно указать требуемый аргумент типа. Вам также понадобится подходящий конструктор для вызова ... –

ответ

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 для понимания больше о интерфейсах

Примечание: рк параметр типа, который заставляет вас писать общие коды. см. here для получения более подробной информации

Смежные вопросы