I have a class, which has one field named orbits
(it has the same type as my class Body
and has the private
modifier):
Because victim
is an instance of Body
, it can access any field of a Body
isntance.
Privacy is not per instance - it's per class.
The class can access the private fields of all instances.
For example, the method equals( Object o )
can cast o (if appropriate) to the same type, and compare its private members with the object on which equals() was called.
Since victim
is also of type Body
, the any instance of Body
can access the private members of the victim
instance.
victim is an instance of class Body and has all Attributes of that class. Every instance will have a private property orbits.
If you need a class-Attribute use "private static"
According to section 6.6.1 of the Java Language Specification:
Otherwise, if the member or constructor is declared private, then access is permitted if and only if it occurs within the body of the top level class (§7.6) that encloses the declaration of the member or constructor.