Я вызываю защищенный метод суперкласса из подкласса. Почему этот метод "не виден"?
Я читал некоторые сообщения, такие как этот, которые кажутся противоречить следующему:
Суперкласс:
package com.first;
public class Base
{
protected void sayHello()
{
System.out.println("hi!");
}
}
Подкласс:
package com.second;
import com.first.Base;
public class BaseChild extends Base
{
Base base = new Base();
@Override
protected void sayHello()
{
super.sayHello(); //OK :)
base.sayHello(); //Hmmm... "The method sayHello() from the type Base is not visible" ?!?
}
}