non primitive data types in java

Primitive data types are those data types which are used by programmers when creating variables in their program. 
For example :-
    * boolean
    * char
    * byte
    * short
    * int
    * long
    * float
    * double
Non-Primitive data types:
    * String
    * array
    * enum
    * class
    * etcNon-Primitive Data Types: These data types are not actually defined by 
the programming language but are created by the programmer. They are 
also called “reference variables” or “object references” since they 
refer to a memory location which stores the data.
All classes are non-primitive data types.
Example : Object, String, Integer, Boolean, etc...

Also in Java: