Welcome to the Ranch
Who says the keyword
private is banned? The JLS prohibits marking a method both
private and
abstract, but that is different from banning
private.
An
abstract method must be implemented in subclasses, and a
private member of the class isn't inherited, so it can't be implemented in subclasses, so
private abstract is a self‑contradictory modifier.
The above code shows how you might use a
private static field. It is possible, but I don't think I would call it good design.