The strength of a reference determines how the garbage collector will treat the reference. A strong reference, like the ones you gave, will prevent the garbage collection of an object, whereas weak references will not. See
java.lang.ref for more information.
The Container example you gave is just widening. The actual class of the object may be a JPanel, or a Window, or any class that is a direct or indirect sub class of Container. It can even be Container itself. It's similar to the following: