Syntax for calling super

Peter Levart peter.levart at
Tue Aug 28 08:04:59 PDT 2012

On Monday, August 27, 2012 12:19:09 PM Dan Smith wrote:
> > What about if there are several outer classes that all directly implement
> > K  and you don't want to choose the innermost?
> There is no feature (in the current JSR 335 spec) to refer to a
> superinterface method of an enclosing instance.  The rule for 'Foo.super'
> is that 'Foo' must refer to either a lexically enclosing class name or a
> direct superinterface of the immediately enclosing class.  Otherwise, it's
> an error.

Luckily there is a work-around when you put it all together :-)

public class Outer implements K {
    public void m() {

        Runnable K_super_m = K.super::m;

        new K()
            public void m()

Regards, Peter

More information about the lambda-dev mailing list