A differenza di C++, che combina la sintassi per la programmazione strutturata, generica e orientata agli oggetti, Java è stato costruito quasi esclusivamente come un linguaggio orientato agli oggetti. Tutto il codice è scritto all'interno di classi e ogni elemento di dati è un oggetto, ad eccezione dei tipi di dati primitivi, (cioè interi, numeri a virgola mobile, valori booleani e caratteri), che non sono oggetti per motivi di prestazioni. Java riutilizza alcuni aspetti popolari di C++ (come il metodo printf). Domanda: cosa influenza java?
C++