Q:

is there any performance impacts of using whole methods as public in java?

Are there any performance impacts of using method as a public even there is no need to access that method outside the class?

A:

No. There is no performance impact to making your methods more visible. But, it is not considered a best practice to expose more methods then necessary for the function of your code. 

A:

There is a tiny performance impact but it is related to whether the method is override-able and not to whether the method is public. Roughly speaking a method which meets all of the following:

non private
non static
non final

Is considered overridable (that is: can be overridden by a method in a subclass) and thus the compiler cannot determine (at compilation time) the exact implementation that is to be invoked at a given call site. Thus, there is a runtime machinery to carry out this resolution when the call is actually made (a.k.a dynamic binding). This runtime resolution is realized by a very efficient implementation, and is typically heavily optimized by the JVM based on the program's behavior, so the overall penalty is minimal.

