Я хочу использовать общий класс внутри вложенного статического интерфейса. Моя цель - сделать что-то вроде этого:
public class MyClass<T>{
private MyInterface task;
public static interface MyInterface{
void aMethod (T item);
}
}
Но я получаю сообщение об ошибке: Невозможно создать статическую ссылку на нестатический тип T. Если я внесу некоторые изменения (см. Ниже), я могу использовать общий тип внутри интерфейса, но Я хочу избежать этого метода, потому что излишне писать один и тот же класс 2 раза: один для MyClass и один для MyInterface.
public class MyClass<T>{
private MyInterface<T> task;
public static interface MyInterface<T>{
void aMethod (T item);
}
}
Спасибо.
EDIT : Я хочу сделать это:
MyClass c = new MyClass<String> ();
c.setInterface (new MyClass.MyInterface (){
@Override
public void aMethod (String s){
...
}
);
или
MyClass c = new MyClass<AnotherClass> ();
c.setInterface (new MyClass.MyInterface (){
@Override
public void aMethod (AnotherClass s){
...
}
);