Dim A as MyClass
A.Text="A"
Dim B as MyClass
B.Text="B"
Log(A.Text) 'A 'They are now two different objects with different contents
Log(B.Text) 'B
B=A 'Now, both points to the object that was first created by A, and the object that was created by B is destroyed
Log(A.Text) 'A
Log(B.Text) 'A
A.Text="B" 'Both points to the same object, so both instances will change
Log(A.Text) 'B
Log(B.Text) 'B
Dim A as MyClass
A.Text="X" 'Now, they are are different objects, so the change wil only affect one of them
Log(A.Text) 'X
Log(B.Text) 'B 'Since B still holds a reference to the object created by A, it will still log B
A.Text="B"
Log(A.Text) 'B 'Now, both log B, but they are different objects
Log(B.Text) 'B
A.Text="A"
Log(A.Text) 'A 'As they were different objects, a change to one of them does not affect the other
Log(B.Text) 'B