Anda harus memahami perbedaan antara kelas dan turunan dari kelas itu. Jika Anda melihat mobil di jalan, Anda segera tahu bahwa itu adalah mobil walaupun Anda tidak dapat melihat model atau tipe mana. Ini karena Anda membandingkan apa yang Anda lihat dengan kelas "mobil". Kelas berisi yang mirip dengan semua mobil. Anggap saja sebagai templat atau gagasan.
Pada saat yang sama, mobil yang Anda lihat adalah turunan dari "mobil" kelas karena memiliki semua properti yang Anda harapkan: Ada seseorang yang mengendarainya, ia memiliki mesin, roda.
Jadi kelas mengatakan "semua mobil memiliki warna" dan contoh mengatakan "mobil khusus ini berwarna merah".
Di dunia OO, Anda mendefinisikan kelas dan di dalam kelas, Anda menentukan bidang tipe Color
. Ketika kelas dipakai (ketika Anda membuat contoh tertentu), memori dicadangkan untuk warna dan Anda dapat memberikan contoh khusus ini warna. Karena atribut ini spesifik, mereka tidak statis.
Bidang dan metode statis dibagikan dengan semua instance. Mereka adalah untuk nilai-nilai yang spesifik untuk kelas dan bukan contoh khusus. Untuk metode, ini biasanya adalah metode penolong global (seperti Integer.parseInt()
). Untuk bidang, biasanya konstanta (seperti jenis mobil, yaitu sesuatu di mana Anda memiliki set terbatas yang tidak sering berubah).
Untuk menyelesaikan masalah Anda, Anda perlu membuat instance (membuat objek) dari kelas Anda sehingga runtime dapat menyimpan memori untuk instance (jika tidak, instance yang berbeda akan saling menimpa yang tidak Anda inginkan).
Dalam kasus Anda, coba kode ini sebagai blok awal:
public static void main (String[] args)
{
try
{
MyProgram7 obj = new MyProgram7 ();
obj.run (args);
}
catch (Exception e)
{
e.printStackTrace ();
}
}
// instance variables here
public void run (String[] args) throws Exception
{
// put your code here
}
main()
Metode baru membuat instance kelas yang dikandungnya (terdengar aneh tapi karena main()
dibuat dengan kelas bukan dengan instance, ia bisa melakukan ini) dan kemudian memanggil metode instance ( run()
).
C
. Tapi itu tidak akan menjadi yang sangat bagus. Cobalah menggunakan Java dengan cara yang seharusnya digunakan, sebagai bahasa berorientasi objek.