§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 in java.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.