It depends what you mean by "belongs to".
Usually, people would say out
"belongs" to System
because it is a static field declared in that class. Note, though, that this concept of belonging is only a weak one, basically implying only a namespace ownership. There is no special relation between a class and its static fields.
You may also say the object referred to by the out
variable belongs to the PrintStream
class because it is an instance of that class (or a subclass), just as "beagle" belongs to the "dog" class. This is not standard usage in Java parlance, but it makes perfect sense from the perspective of type theory, where a type is really a set of values, and the value of out
"belongs" to that the type / set defined by the PrintStream
class.