Fundamentos de Programación Orientada a Objetos en Java: Clases, Interfaces y Paquetes
Más sobre las clases
Esta sección cubre aspectos avanzados de las clases que dependen del uso de referencias a objetos y el operador punto (dot operator) aprendido anteriormente: los valores de retorno de los métodos, la palabra clave this, la diferencia entre miembros de clase y de instancia, y el control de acceso.
Clases anidadas
Se abordan las clases estáticas anidadas, clases internas, clases internas anónimas, clases locales y las expresiones lambda. También se incluye una discusión sobre cuándo utilizar cada enfoque.
Tipos de enumeración
Esta sección cubre las enumeraciones, clases especializadas que permiten definir y utilizar conjuntos de constantes.
Interfaces y Herencia
Interfaces
Tras haber visto un ejemplo de implementación de una interfaz en la lección anterior, aquí podrá profundizar en qué son, por qué es necesario escribirlas y cómo implementarlas correctamente.
Herencia
Esta sección describe cómo derivar una clase de otra. Es decir, cómo una subclase puede heredar campos y métodos de una superclase. Aprenderá que todas las clases se derivan de la clase Object y cómo modificar los métodos heredados. También se cubren las clases abstractas, que poseen una naturaleza similar a las interfaces.
Paquetes
Esta lección explica cómo agrupar clases e interfaces en paquetes, cómo utilizar clases contenidas en ellos y cómo organizar el sistema de archivos para que el compilador pueda localizar los archivos de origen.
Creación y uso de paquetes
Para facilitar la búsqueda y el uso de tipos, evitar conflictos de nombres y controlar el acceso, los programadores agrupan tipos relacionados en paquetes.
Definición: Un paquete es un conjunto de tipos afines que proporcionan protección de acceso y gestión del espacio de nombres. Tenga en cuenta que el término tipos se refiere a clases, interfaces, enumeraciones y tipos de anotación. Dado que las enumeraciones y los tipos de anotación son tipos especiales de clases e interfaces, en esta lección se suele hacer referencia a ellos simplemente como clases e interfaces.