Java adalah bahasa pemrograman
tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian
yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan
dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram
Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas
Java, yang disebut dengan Java Application Programming Interface (API).
Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package).
Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet
dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu
mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas
merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara
lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi
kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java.
Kompilator javac menghasilkan file bytecode kelas dengan ekstensi
*.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi
Java dan menjalankan program bytecode Java.
Beberapa keunggulan java yaitu java
merupakan bahasa yang sederhana. Java dirancang agar mudah dipelajari dan
digunakan secara efektif. Java tidak menyediakan fitur-fitur rumit bahasa
pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya
harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis
seperti dealokasi memori. Bagi pemrogram yang sudah mengenal bahasa C++ akan
cepat belajar susunan bahasa Java namun harus waspada karena mungkin Java
mengambil arah (semantiks) yang berbeda dibanding C++.
Java merupakan bahasa berorientasi
objek (OOP) yaitu cara ampuh dalam pengorganisasian dan pengembangan
perangkat lunak. Pada OOP, program komputer sebagai kelompok objek yang saling
berinteraksi. Deskripsi ringkas OOP adalah mengorganisasikan program sebagai
kumpulan komponen, disebut objek. Objek-objek ini ada secara independen,
mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerintahkan
objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan
sesuatu. Kelas bertindak sebagai modul sekaligus tipe. Sebagai tipe maka pada
saat jalan, program menciptakan objek-objek yang merupakan instan-instan kelas.
Kelas dapat mewarisi kelas lain. Java tidak mengijinkan pewarisan jamak namun
menyelesaikan kebutuhan pewarisan jamak dengan fasilitas antarmuka yang lebih
elegan.