class Box{ void m(A a){} } class B { } class Box_Main extends B { m(b) { b.m(new Box_Main()); b.m(new B()); } }