When pass a primitive, Java makes a copy of the actual data value. Any changes you make inside the method stay inside the method

When pass an object, Java copies the reference variable (the pointer to the memory location on the heap)

No falsy values

Interesting: private prevents direct access, not indirect execution.

A.secret();           // ❌ private
A.getSecret().run();  // ✅ indirect access

A class can expose a private method through a method reference.

Java does not initialize int in methods