The class variable j (static final int j) is assigned the value 9 in the static block. That is all valid.
In the constructor, the parameter j, is assigned to itself and that has no effect. The alternative (and I suspect what you meant) is:
public A(int j)
{
A.j = j;
}
Here the parameter j is assigned to the class variable j. However, Java will complain here as the class variable is final. If you remove the final keyword, this will of course work as well. However, now it gets interesting:
The value of class j, will be 9 as long as no instance of class A is created. The moment an instance of the class is created through the new operator, all instances of the class A will have the same value for the class variable j (dependant on what you sent the constructor).