public abstract class Abstract {
public abstract void abstractMethod();
public void concreteMethod() {}
private static abstract class PrivateSuperClass {
}
private static abstract class PubliclyUsedPrivateSuperClass {
}
public static class A extends PrivateSuperClass {
}
public static abstract class B extends PrivateSuperClass {
public abstract PubliclyUsedPrivateSuperClass abstractMethod();
}
public static class C extends PubliclyUsedPrivateSuperClass {
}
}