new create a new object from a class. It allocates memory and call the adequate constructor method of the class to initialise field values.
Let the students talk ...
  This : the object instance of a class (constructors)
  super : the parent class
  
  final : method can't be overwritten, class can not be subclassed
  static : a class thing. No object instance is needed.
This week exercise
public : accessible anywhere
  private : member accessible only within the class that defines it
  protected : member accessible only within package and within subclasses.
A way to deal with things that should not happen (better 
  than the if then else)
  Each time there is an input from outside of the program
abstract : a method implementation is missing somewhere