## §1.1 Team classes

→ Syntax §A.1.1

A class declared with the modifier `team` is a team class (or team for short).

1

    public team class MyTeamA {

2

      ...

3

    }

Teams are meant as containers for roles, which are defined in the following paragraphs.

1

    public team class MyTeamA {

2

      public class MyRole

3

        ...

4

      }

5

    }

Teams introduce a new variant of inheritance for contained role classes (see §1.3.1 below). Other properties of teams, which are defined in later sections, are:

- Team activation (§5)
- Abstractness and instantiation (§2.5)
- Declared lifting in team methods (§2.3.2)
- Reflective functions defined in `org.objectteams.ITeam` (§6.1)

Apart from these differences, team classes are regular Java classes with methods and fields, whose instances are regular Java objects.