public class StaticVariablesExample { public static void main(String[] args) { // Access static variables of Variables class. // Note that you don't have to create an object instance // of Variables class. System.out.println("Variables.staticintA = " + Variables.staticintA); System.out.println("Variables.staticStringB = " + Variables.staticStringB); Variables.staticStringB = "Life is good!"; System.out.println("Variables.staticStringB = " + Variables.staticStringB); // Access instance variables of Variables class. // Note that you have to create an object instance // of Variables class before you access them. Variables objectInstance1 = new Variables(); Variables objectInstance2 = new Variables(); objectInstance1.instanceintA = 1; System.out.println("objectInstance1.instanceintA = " + objectInstance1.instanceintA); objectInstance2.instanceintA = 3; System.out.println("objectInstance2.instanceintA = " + objectInstance2.instanceintA); // The static variable can be accessed from an object instance. System.out.println("objectInstance1.staticintA = " + objectInstance1.staticintA); objectInstance1.staticintA = 220; System.out.println("objectInstance1.staticintA = " + objectInstance1.staticintA); System.out.println("Variables.staticintA = " + Variables.staticintA); // The static variable can be accessed from multiple object instances. objectInstance2.staticintA = 550; System.out.println("objectInstance1.staticintA = " + objectInstance1.staticintA); System.out.println("objectInstance2.staticintA = " + objectInstance2.staticintA); System.out.println("Variables.staticintA = " + Variables.staticintA); // Compile error when you try to access instance variable as if it is a static variable // Variables.instanceintA = 3; } }