code:  public class Foo { public int x = 0; }
  
   void somefunction() {
       Foo a; // this declares a reference to Foo object; if this is a class field, it is initialized to null
       a = new Foo(); // this assigns a to point to a new Foo object
       Foo b = a; // this declares another reference to point to the same object that "a" points to
       a.x = 5; // this modifies the "x" field of the object pointed to by "a"
       System.out.println(b.x); // this prints 5, because "b" points to the same object as "a"
   }
  