I am not able to understand the objects are created in the program,but they are not used to call toString method.Still it is executed.and in System.out.println we are using reference to the same class (or object of that class). Can anyone help me to understand the program.