void () { Java8Class obj = new Java8Class(); Function0 memberFunFromSameClass = obj::memberFun; memberFunFromSameClass.invoke(); Test anotherObj = new Test(); Function0 memFunFromAnotherClass = anotherObj::memberFun; memFunFromAnotherClass.invoke(); Function0 memberFunThroughObj1 = field::memberFun; memberFunThroughObj1.invoke(); Function0 memberFunThroughObj2 = Test.field::memberFun; memberFunThroughObj2.invoke(); Function0 memberFunThroughObj3 = Test.staticFun()::memberFun; memberFunThroughObj3.invoke(); }