classes: 1. Constructors 2. How to override toString() and equals() methods, and what they do by default. 3. The difference between primitive types and reference types. - where are the data stored? - how to assignment work? - the problem of aliasing. 4. the difference between overloading and overriding. How to use Sets and Maps what are the basic methods? what do they do?