De acuerdo con el índice Tiobe, Java es el lenguaje de programación clasificación Nº 1 en el mundo en el momento de publicación de este artículo. Es ampliamente utilizado, potente y bastante fácil de aprender. Tiene un enorme ecosistema impulsado por un enorme número de desarrolladores y una gran variedad de herramientas disponibles. Java es orientado a objetos y proporciona muchas herramientas orientadas a objetos de diferente tipo de problemas. Las clases abstractas e interfaces son dos herramientas importantes en la caja de herramientas de Java.
Programación orientada a objetos
Programación Orientada a Objetos es el paradigma de la programación dominante. En lugar de ver la programación como la creación de una lista de instrucciones para computadoras para ejecutar, los programadores de POO crean miembros --- estos son llamados "objetos" --- de una sociedad digital que luego orquestan para hacer lo que quieren. Esto se logra mediante el envío de mensajes a los objetos. Los objetos a continuación, responden a esos mensajes. Los programadores usan estos objetos y sus respuestas para crear software.
clases
Las clases son una parte crucial de la programación orientada a objetos. programadores de programación orientada a objetos definen los objetos que utiliza mediante la creación de clases y definir cómo esas clases de objetos se comportan. Las clases son un tipo especial de objeto cuyo trabajo es crear instancias de objetos con el comportamiento definido. Las clases también pueden heredar de otras clases, o copiar su comportamiento.
Interfaces
Las interfaces son un tipo especial de clase. Interfaces actúan como una plantilla para otras clases. Declaran los comportamientos que las clases que heredan deben definir. Ellos sin embargo no implementan ningún comportamiento. El único propósito de una interfaz es definir qué comportamientos una clase que hereda debe exhibir. Interfaces son útiles para la aplicación de una interfaz uniforme para objetos similares. Interfaces sólo podrán ser heredados de; que no se pueden utilizar para crear objetos.
Las clases abstractas
Las clases abstractas son similares a las interfaces, clases abstractas, sin embargo también se pueden poner en práctica el comportamiento de las subclases. Las clases abstractas se pueden utilizar como interfaces en situaciones en las subclases tienen comportamientos comunes. Las clases abstractas son útiles en el software como los entornos de aplicaciones, donde los desarrolladores necesitan algunas funciones por defecto de las subclases que definen. Las clases abstractas sólo pueden ser heredados de. No pueden ser utilizados para crear los objetos.