class Class1 {
int func() {
return 10;
}
}

class Class2 {
String func() {
return "20";
}
}

func(Class1 hoge) {
print(hoge.func());
}

main() {
func(new Class1());
func(new Class2());
}

これでwarningが出るだけだから>>56の言う感じに近いのでは
funcの引数をvarにすればWarningも出なくなるし