final keyword in method parameters [duplicate]

Java always makes a copy of parameters before sending them to methods. This means the final doesn’t mean any difference for the calling code. This only means that inside the method the variables can not be reassigned.

Note that if you have a final object, you can still change the attributes of the object. This is because objects in Java really are pointers to objects. And only the pointer is copied (and will be final in your method), not the actual object.

Leave a Comment