interface Runnable{} interface Class{} public class Foo implements Runnable{ static void foo(Class aClass, T t) { } Class getC(){ return new Class(){};} public void run() { } { foo(new Class(){}, this); } }