У меня есть код ниже, написанный с Eclipse ide:
public interface X
{
final public static int SOME_CONST = 0;
}
public class Handle implements X
{
protected void methodHandle () { }
//...
}
public class User implements X
{
Handle handle = new Handle();
private void methodUser ()
{
Y y = new Y() // anonymous inner class
{
public void methodY ()
{
handle.methodHandle (); // <--- why this is NOT giving error ?
}
}
}
}
Несмотря на то, что Handle.methodHandle ()
равен protected
, он по-прежнему вызывается из внутреннего метода анонимного внутреннего class
метода?Почему это происходит, я что-то упустил?Единственное соотношение между Handle
и User
состоит в том, что они implement
одинаковы X
.