Lección 12. Tipos de Datos No Primitivos. 
Los tipos de datos no primitivos se denominan tipos de referencia porque se refieren a objetos.
Las principales diferencias entre los tipos de datos primitivos y no primitivos son:
Los tipos primitivos en Java están predefinidos e integrados en el lenguaje, mientras que Los tipos no primitivos son creados por el programador (excepto para String).
Los tipos no primitivos se pueden usar para llamar a métodos para realizar ciertas operaciones, mientras que los tipos primitivos no pueden.
Los tipos primitivos comienzan con una letra minúscula (como int), mientras que los tipos no primitivos generalmente comienzan con una letra mayúscula (como String).
Los tipos primitivos siempre tienen un valor, mientras que los tipos no primitivos pueden ser null.
Nota: Ejemplos de tipos no primitivos son, String, matrices, clases, etc.