↑ Table of Contents ↑ | §6.2.(b) Interface for explicit lowering >> |
§6.2.(a) Interfaces for role encapsulation
A set of pre-defined types exist that do not extend java.lang.Object
and have no features except the operators ==
and !=
.
Note:
The JLS defines that each interface declares all methods defined injava.lang.Object
(JLS §9.2)
and also each object referenced by an interface type can be widened to java.lang.Object
.
Compilers commonly implement this by declaring java.lang.Object
the super-type of all interfaces.
Such implementation has no visible difference with respect to the more complex definition in the JLS.
These predefined types are
org.objectteams.IConfined
- regular interface
org.objectteams.ITeam.IConfined
- role interface
org.objectteams.Team.Confined
- role class
These types provide no new functionality but inheriting from these types influences the semantics with respect to encapsulation. The purpose and usage of these types is described in §7.
↑ Table of Contents ↑ | §6.2.(b) Interface for explicit lowering >> |