Мне нужно вызвать следующий метод.Передача встроенного построенного класса в качестве аргумента класса методу
void foo(Class<? extends Bar> cls);
Для cls
аргумента, мне нужно передать класс, который только подменяет один метод Bar
.
Я хочу знать, есть ли способ написать определение моего нового класса inline в вышеупомянутом вызове без написания нового класса в отдельном файле, который расширяет Bar.
В вышеприведенных трех вариантах только первый параметр разрешил 'foo' создавать новый экземпляр' cls.newInstance() ' –
@LahiruChandima: Даже когда' doSomething' был статическим методом? Интересно и удивительно - я подозреваю, что компилятор добавлял параметр конструктора для захваченных переменных, даже когда никто не был захвачен. –
Я не проверял статическую 'doSomething()'. В моем случае мне нужно вызвать 'foo' в нестационарном контексте. –