private -> default -> protected -> public
Default Modifier schränkt Sichtbarkeit der Methode foo mit ein, ist die Subklasse aber public, dann wird diese Einschränkung aufgehoben. PublicSubclass#foo ist public.
class Base {
public void foo() {}
}
public class PublicSubclass extends Base {
}