Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Target Reference and Static Methods

 
Garrett Smith
Ranch Hand
Posts: 401
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
 
Maulin Vasavada
Ranch Hand
Posts: 1873
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi Garret,
well, if a method is static then it is invoked via the class rather than an instance. so actually the java runtime doesn't even use the object reference you return (as null) to invoke the method mountain().
u can try this as well,
Test t = null;
t.mountain();
it will work.
here is the code i wrote,

but when we compile this class and .class file is generated compiler takes care of the static method calls as a part of the compile optimization/simplification(if u would say)...
here is the .class file code after decompiling it via "cavaj" (one of the decompiler)
i have put only the main() method of the TestStaticRef class here..

here as u see favorite() and mountain() methods for TestStaticRef and TestStaticRef1 are called via the class name rather than the instance that u return at run time...
so it works!!
regards
maulin.
 
Garrett Smith
Ranch Hand
Posts: 401
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Interesting. Thank you.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic