Home » Java » Java implicit "this" parameter in method?

Java implicit "this" parameter in method?

Posted by: admin December 28, 2021 Leave a comment

Questions:

Within the programming language Java do method invocations on an object, work by implicitly passing a reference to the object to act on and working as static methods?

Answers:

Details on how method invocation works can be found in the Java SE 7 JVM specification, section 3.7. For an instance method the this reference is passed as the first parameter. This reference is also used to select which method to invoke, since it might be overridden in a subclass, so it is a bit more complicated than a static method.

###

In short, no. That is how C++ was originally written, back when it was just a system of macros, but that was only because nothing existed (in C) like classes or static functions.

Java simply calls methods on objects. It has a shared piece of code that is the method, so in that sense it’s static conceptually, but there is a bit that tells the modifiers of a method, and static is one of the bits, and it is not set for normal methods.