Returns an array of Field objects reflecting all the fields
declared by the class or interface represented by this Class
object. This includes public, protected, default (package)
access, and private fields, but excludes inherited
fields. Returns an array of length 0 if the class or interface
declares no fields, or if this Class object represents a
primitive type.
See The Java Language Specification, sections 8.2 and
8.3.