Java es un lenguaje de programación orientado a objetos, distribuido y robusto. Se basa en C y C++ y permite la creación de aplicaciones distribuidas a través de sockets. Java es indiferente a la arquitectura, por lo que es compatible con múltiples sistemas operativos. La programación orientada a objetos en Java se basa en los pilares de abstracción, polimorfismo, encapsulamiento y herencia.