If we send the parameters i,j as arguments to myMethod() then, any changes in myMethod() would not be reflected in the main().
check this code....
public class Static
{
static{int x = 5;}
static int x,y;///1
public static void main(
String args[])
{
x--;///2
myMethod(x,y);
System.out.println(x + y + ++x);}
public static void myMethod(int x,int y)
{y = x++ + ++x;}}
In this code any changes in x,y in myMethod() will still give the output as -1 because only the copy of x,y are sent to the method. These x,y in myMethod() are similar to local variables of the method.
But in your code, the static fields are used directly (u didnt send any duplicate of x,y) .So any change of x,y occuring in any method will be reflected at all the other methods.