ganti dari inheritansi ganda, Java kemudian menyediakan antarmuka interface.
3. Terdistribusi
Java memudahkan pembuatan aplikasi terdistribusi dengan sekumpulan kelas yang digunakan pada aplikasi-aplikasi jaringan. Dengan menggunakan
kelas URL Uniform Resource Locator Java, suatu aplikasi dapat dengan mudah mengakses server-jauh remote server.
4. Terinterpretasi Karena Java adalah bahasa interpretasi, sekali Interpreter Java terpasang,
terinstal pada suatu mesin tertentu, mesin tersebut dapat secara langsung menjalankan aplikasi-aplikasi Java tidak peduli platform atau sistem operasi
apa yang terpasang pada mesin tersebut. Ketika menggunakan bahasa interpreter, programmer juga terbebas dari kekhawatiran berkaitan dengan
ketergantungan antar modul. Keuntungan lain adalah waktu yang digunakan untuk lingkaran edit-compile-link- test dapat dipotong. Tanpa adanya langkah
kompile dan link, maka bekerja dalam ingkungan interpreter lebih sederhana dan lebih hemat waktu karena hanya melalui lingkaran edit-test.
5. Kokoh
Membuat suatu program yang terdistribusi, mendukung multi-jalinan yang dapat dijalankan pada berbagai sistem operasi dan berbagai prosesor
bukanlah suatu pekerjaan yang mudah. Berdasarkan pemikiran ini, maka Java
diciptakan sebagai bahasa yang sangat ketat dalam penulisan strongly typed language. Dalam Java management memori telah disederhanakan dengan
dua cara. Pertama Java tidak mendukung manipulasi pointer atau aritmatik secara langsung, sehingga mustahil bagi program Java untuk menumpuk
meng-overwrite memori atau mengkorupsi data. Kedua Java menggunakan mekanisme pengumpulan sampah saat program berjalan runtime daripada
pembebasan memori secara eksplisit.
6. Aman
Karena Java tidak menggunakan pointer yang secara langsung merujuk pada lokasi memori seperti yang terdapat pada C atau C++, Java memiliki
kendali penuh terhadap semua kode yang ada pada lingkungan Java. Sebelumnya telah diantisipasi bahwa aplikasi-aplikasi Java akan dijalankan di
internet dan akan secara dinamis dapat dijalankan bersama atau mengeksekusi program lain di tempat yang berlainan melalui internet, maka
para pengembang Java berpendapat tentang perlu adanya kompiler Java yang akan menghasilkan kode bite Java yang akan melewati standar keamanan
runtime Java. Gagasan ini memunculkan ide tentang pemeriksa kode byte yang akan memeriksa semua kode yang masuk dan memastikan bahwa semua
kode tersebut telah mematuhi serangkaian aturan yang telah ditentukan dan aman untuk dijalankan.