开发者

Java implicit "this" parameter in method?

开发者 https://www.devze.com 2023-02-27 22:58 出处:网络
开发者_如何转开发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?Details on how me

开发者_如何转开发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?


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消