Какой модификатор доступа в абстрактном классе я должен использовать для метода, поэтому подклассы могут решить, должно ли оно публично или нет? Возможно ли "переопределить" модификатор в Java или нет?
public abstract class A {
??? void method();
}
public class B extends A {
@Override
public void method(){
// TODO
}
}
public class C extends B {
@Override
private void method(){
// TODO
}
}
Я знаю, что возникнет проблема со статической привязкой, если кто-то звонит:
// Will work
A foo = new B()
foo.method();
// Compiler ?
A foo = new C();
foo.method();
Но, может быть, есть и другой способ. Как я могу это достичь?