Дженерики Java с классом и вложенным статическим интерфейсом

Я хочу использовать общий класс внутри вложенного статического интерфейса. Моя цель - сделать что-то вроде этого:

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){
        ...
    }
);
8
задан Gabriel Llamas 6 March 2011 в 17:04
поделиться