Because "int i = 20" is defined within a method, it is a local variable, not an instance variable.
The this keyword references instance variables, like the one you defined with the code "public static int i =99" and then assigned the value 10 within the method.
If you want to display the value "20", your output line would read "System.out.println(i);" to access the local variable instead of the instance variable.
"Sex and drugs and women being set on fire! I've never heard of such a Christmas!" - Christine Baranski in "The Ref"