Probably the following cannot be done (I am getting a compilation error: \"The inherited method A.doSomthing(int) cannot hide the public abstract method in B\"):
This has to do with visibility. You are using default
(no modifier) visibility in C
for myMethod
but it needs to be public
according to the interface B
.
Now you might think you used the default
visibility for all of them, since in neither A
, B
, nor C
did you explicitly select one of public
, private
, or protected
. However, the interface uses public
whether or not you explicitly indicate so.