Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

mock problem

 
jone wiilum
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
public class Honley{
public static int i =99;
public static void main(String argv[]){
Honley h = new Honley();
h.wine();
}
public void wine(){
i = 10;
int i = 20;
System.out.println(this.i);

}
}

out put is 10 how?
[ August 24, 2007: Message edited by: jone wiilum ]
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by jone wiilum:
...out put is 20 how?

Output is 10.
 
jone wiilum
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
yes output is 10 but how it come
we have int i=20; in method
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by jone wiilum:
yes output is 10 but how it come
we have int i=20; in method

In the body of the method, a new variable "i" is declared. The new "i" is local to the method, and it's different than the static "i" that is declared in the class. When we say "this.i" we are getting the static "i" of this instance -- not the local "i".

[ August 24, 2007: Message edited by: marc weber ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic