Access specifiers don't specify the subject of granting access, such as types where the access is used. If the access modifier is "private", the member is not accessed by any classes, is "public" — it is accessed by all classes, and so on. Please see the documentation and draw your conclusion for your code design:
https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html[
^].
The end of this article give some rule-of-thumb recommendations.
One of design approaches you can use is to split those 2 and 3 methods between different classes, but it will never be the way you wanted. And perhaps the lack of the feature you are looking for leads, which you may consider as a limitation, actually stimulates better design decisions than those you keep in mind.a
—SA