interface Func{
int function(int a,int b);
//Object function(Object a,Object b)でもいいけど、それは設計レベルの話
}

class Func1 implements Func{
function(int a,int b){
return a+b;
}

class Func2
{(ry
}

FunctionFactory(ry

以上
デザパタ知ってればわかるっしょ。
ちなみに、そこであげられてるのはgoto的な要素があるので
やろうと思えばできるけど、普通はしない。
intが返ってきたり、objectが返ってきたりするようなのを
ポリモしないんで。
そうなってるなら、設計がクソで
すなわち破綻を意味する。