Both objects will share the same i. There are two ways to refer to a static variable. As indicated above, you can name it via an object, by saying, for example, st2.i . You can also refer to it directly through its class name, something you cannot do with a non-static member. At this point, both st1.i and st2.i will have the value 48.
Similar logic applies to static methods.
An important use of static for methods is to allow you to call that method without creating an object.