this keyword, Variable Hiding in java

Java Programming Language Class, Object and Methods in java (Article) Class, Object and Methods in java (Program)

1957

Program:

<span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">VariableHiding</span><span class="pln"> </span><span class="pun">{</span><span class="pln">

</span><span class="kwd">int</span><span class="pln"> variable </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">

 </span><span class="kwd">void</span><span class="pln"> method</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> variable</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  variable </span><span class="pun">=</span><span class="pln"> </span><span class="lit">20</span><span class="pun">;</span><span class="pln">
  </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Value of Instance variable :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">variable</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Value of Local variable :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> variable</span><span class="pun">);</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

  </span><span class="kwd">void</span><span class="pln"> method</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">int</span><span class="pln"> variable </span><span class="pun">=</span><span class="pln"> </span><span class="lit">50</span><span class="pun">;</span><span class="pln">
  </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Value of Instance variable :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">variable</span><span class="pun">);</span><span class="pln">
  </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Value of Local variable :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> variable</span><span class="pun">);</span><span class="pln">
 </span><span class="pun">}</span><span class="pln">

 </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> args</span><span class="pun">[])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
 </span><span class="typ">VariableHiding</span><span class="pln"> obj </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">VariableHiding</span><span class="pun">();</span><span class="pln">

 obj</span><span class="pun">.</span><span class="pln">method</span><span class="pun">(</span><span class="lit">20</span><span class="pun">);</span><span class="pln">
 obj</span><span class="pun">.</span><span class="pln">method</span><span class="pun">();</span><span class="pln">
 </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="com">/*
this keyword can be very useful in the handling of Variable Hiding.
We can not create two instance/local variables with the same name.
However it is legal to create one instance variable &amp; one local variable
or Method parameter with the same name. In this scenario the 
local variable will hide the instance variable this is called Variable Hiding.

*/</span>

Output:

Value of Instance variable :5
Value of Local variable :20
Value of Instance variable :5
Value of Local variable :50
Press any key to continue . . .

This Particular section is dedicated to Programs only. If you want learn more about Java Programming Language. Then you can visit below links to get more depth on this subject.