Instantiating an object that has already been instantiated

I was wondering if anybody could explain this more in detail for Java. I was wondering more specifically if anybody knew when you must cast the static type when changing the dynamic type with = new (classname)