Java : Non Primitive Data Types

Non-primitive data types are also called as reference types because they refer to objects.

Examples:  Strings, Arrays, Classes, Interface, etc. are non-primitive type.

Note: Non-primitive data type also called a User Defined Type when declaring an object with Classes and Interfaces names.

See Also: Java: Primitive Type Size and Default Value

Primitive Vs Non-Primitive

These are the main difference between primitive and non-primitive data types:

  • Primitive types are predefined in Java. While Non-primitive types are created by the programmer and is not defined by Java (except for String).
  • Non-primitive types also be used to call methods to perform certain operations, while primitive types cannot.
  • The primitive type has always had value, while non-primitive types can be null.
  • The primitive type starts with a lowercase letter, while non-primitive types start with an uppercase letter.
  • The primitive type size depends on the data type, while non-primitive types have all the same size.