Private methods aren't overridden, they are inherited (although the JLS uses this term ambiguously).
Private methods aren't even inherited. They are born and they die with the class they are declared in. They are not accessible anywhere in the world other than in the class.
When it comes to overriding a private or final method, all that matters is visibility. If the subclass can see the method (meaning able to access the method), then if it wants to define its own version of the method, it will have to follow the rules of overriding, which are:
The argument list must exactly match that of the overridden method.The return type must exactly match that of the overridden method.The access level must not be more restrictive than that of the overridden method.The overriding method must not throw new or broader checked exceptions than those declared by the overridden method. But if the method is not visible, then its similar to having 2 different methods, one in the superclass and another in the subclass, which do not have any kind of relation with each other, but (surprisingly) which happen to have the same method name and signature.