## §1.4 Name clashes

OT/J restricts Java with respect to handling of conflicting names.

#### (a) Names of role classes

A role class may not have the same name as a method or field of its enclosing team. A role class may not shadow another class that is visible in the scope of the enclosing team.

#### (b) Names of role methods and fields

Along implicit inheritance, the names of methods or fields may not hide, shadow or obscure any previously visible name.
(see JLS §8.3, §8.4.6.2, §8.5, §9.3, §9.5 (hiding), §6.3.1 (shadowing), §6.3.2 (obscuring).