In version 1.5, Java have introduced the concept of auto-boxing.
public interface SomeInterface { public void test(Integer val); } public class Main implements SomeInterface { /*The method signature gets different and compiler is asking to override un-implemented methods*/ public void test(int t) { } } Then why I am getting compile time error for overriding un-implemented methods, why above test method's arguments are not auto-boxed to match parent test method signature?