通常、メソッドのデフォルトのアクセス レベルはパッケージ ローカルです。しかし、パブリック抽象クラスでは異なるようです。これらのクラスでは、デフォルトは public のようです。これは正しいです?
アップデート
@EJP
それは私のコードのバグでした。パッケージのローカル メソッドをパブリック メソッドでシャドウすることは可能ですが、これは私を混乱させます。これは、パブリック抽象が、メソッドがパブリックであるインターフェイスに似ている可能性があると私に思わせます。例を参照してください。
a/A.java:
package a;
public abstract class A
{
String a () { return "a"; }
}
test_a.java:
class test_a
{
static class NewA extends a.A
{
public String a () { return "new a"; }
}
public static void main (String[] args)
{
NewA a = new NewA();
System.out.println(a.a());
}
}