Si je puis me permettre d'apporter quelques précisions...
Comme c'est assez bien décrit
ici et
là :
Java est à la fois un langage de programmation "orienté objet" et un environnement d'exécution (Machine Virtuelle Java).
Un de ses fondements est de pouvoir executer du code indépendamment de la configuration matérielle.
Le langage Java a été inventé également pour pallier aux défauts du C++ alors langage orienté objet le plus répandu mais qui, par sa parentée avec le C possède des caractéristiques et fonctionnement parfois un peu plus éloignés de la pure programmation orientée objet.
Si vous voulez en savoir plus... pour ce genre d'info-rmatique
wikipedia(fr) et
wikipedia(en) sont de très bonnes sources !