Fields and constructors