Jawaban:
Ada tiga hal yang sangat berbeda:
public
berarti bahwa metode ini terlihat dan dapat dipanggil dari objek lain dari tipe lain. Alternatif lain adalah private
, protected
, package
dan package-private
. Lihat di sini untuk detail lebih lanjut.
static
berarti bahwa metode dikaitkan dengan kelas, bukan turunan khusus (objek) dari kelas itu. Ini berarti bahwa Anda dapat memanggil metode statis tanpa membuat objek kelas.
void
berarti bahwa metode ini tidak memiliki nilai balik. Jika metode mengembalikan int
Anda akan menulis int
bukan void
.
Kombinasi ketiganya paling umum dilihat pada main
metode yang akan menyertakan sebagian besar tutorial.
Tiga kata tersebut memiliki makna ortogonal.
public
berarti bahwa metode ini akan terlihat dari kelas di paket lain.
static
berarti bahwa metode ini tidak dilampirkan ke contoh spesifik, dan tidak memiliki " this
". Ini lebih atau kurang fungsi.
void
adalah tipe pengembalian. Ini berarti "metode ini tidak menghasilkan apa-apa".
Kata kunci publik adalah specifier akses, yang memungkinkan programmer untuk mengontrol visibilitas anggota kelas. Ketika seorang anggota kelas didahului oleh publik, maka anggota tersebut dapat diakses dengan kode di luar kelas yang dideklarasikan. (Kebalikan dari publik adalah pribadi, yang mencegah anggota untuk digunakan oleh kode yang ditentukan di luar kelasnya.)
Dalam hal ini, main( )
harus dinyatakan sebagai publik, karena harus dipanggil dengan kode di luar kelasnya ketika program dimulai.
Kata kunci statis memungkinkan main( )
untuk dipanggil tanpa harus membuat instance instance kelas tertentu. Ini perlu karena main( )
dipanggil oleh Java interpreter sebelum objek dibuat.
Void kata kunci hanya memberi tahu kompiler yang main( )
tidak mengembalikan nilai. Seperti yang akan Anda lihat, metode juga dapat mengembalikan nilai.
Artinya:
public
- dapat dipanggil dari mana sajastatic
- tidak memiliki status objek apa pun, jadi Anda dapat memanggilnya tanpa membuat instance objekvoid
- tidak mengembalikan apa punAnda akan berpikir bahwa kurangnya pengembalian berarti tidak menghasilkan banyak, tetapi mungkin menyimpan hal-hal dalam database, misalnya.
Itu artinya tiga hal.
Pertama public
berarti bahwa objek lain dapat mengaksesnya.
static
berarti bahwa kelas di mana ia berada tidak harus dipakai terlebih dahulu sebelum fungsi dapat dipanggil.
void
berarti bahwa fungsi tersebut tidak mengembalikan nilai.
Karena Anda baru belajar, jangan khawatir tentang yang pertama terlalu banyak sampai Anda belajar tentang kelas, dan yang ketiga tidak akan terlalu berarti sampai Anda mulai menulis fungsi (selain yang utama itu).
Saran terbaik yang saya dapatkan ketika belajar program, dan yang saya sampaikan kepada Anda, jangan khawatir tentang detail kecil yang tidak Anda pahami segera. Dapatkan ikhtisar luas dasar-dasar, lalu kembali dan khawatir tentang detailnya. Alasannya adalah bahwa Anda harus menggunakan beberapa hal (seperti public static void
) dalam program pertama Anda yang tidak dapat dijelaskan dengan baik tanpa mengajari Anda tentang banyak hal lainnya terlebih dahulu. Jadi, untuk saat ini, terimalah saja demikian, dan lanjutkan. Anda akan segera memahaminya.
Mempertimbangkan kelas tingkat atas yang khas. Hanya pengubah akses publik dan tidak ada pengubah yang dapat digunakan di tingkat atas sehingga Anda akan melihat publik atau Anda tidak akan melihat pengubah akses sama sekali.
`static`` digunakan karena Anda mungkin tidak perlu membuat objek aktual di tingkat atas (tapi kadang-kadang Anda ingin jadi Anda tidak selalu melihat / menggunakan statis. Ada alasan lain mengapa Anda tidak akan menyertakan statis juga, tetapi ini adalah yang khas di tingkat atas.)
void
digunakan karena biasanya Anda tidak akan mengembalikan nilai dari tingkat atas (kelas). (Kadang-kadang Anda ingin mengembalikan nilai selain NULL
jadi batal tidak selalu digunakan baik terutama dalam kasus ketika Anda telah menyatakan, menginisialisasi objek di tingkat atas yang Anda tetapkan beberapa nilai).
Penafian: Saya sendiri pemula, jadi jika jawaban ini salah, tolong jangan gantung saya. Pada siang hari saya seorang perekrut teknologi bukan pengembang; coding adalah hobi saya. Juga, saya selalu terbuka untuk kritik membangun dan senang belajar, jadi silakan tunjukkan kesalahan apa pun.
public
berarti Anda dapat mengakses kelas dari mana saja di kelas / objek atau di luar paket atau kelasstatic
berarti konstan di mana blok pernyataan yang digunakan hanya 1 kalivoid
berarti tidak ada tipe pengembalianPublic
- Berarti kelas (program) tersedia untuk digunakan oleh kelas lain.
Static
- membuat kelas. Dapat juga diterapkan pada variabel dan metode, menjadikannya metode / variabel kelas alih-alih hanya lokal ke instance kelas tertentu.
Void
- ini berarti bahwa tidak ada produk yang dikembalikan ketika kelas menyelesaikan pemrosesan. Bandingkan ini dengan kelas pembantu yang memberikan nilai kembali ke kelas utama, ini beroperasi seperti fungsi; ini tidak memiliki kekosongan dalam deklarasi.
static
berarti bahwa metode dikaitkan dengan kelas, bukan turunan khusus (objek) dari kelas itu. Ini berarti bahwa Anda dapat memanggil metode statis tanpa membuat objek kelas. Karena penggunaan static
kata kunci main()
adalah metode pertama Anda untuk dipanggil ..
static
tidak perlu objek apa pun untuk instance ... jadi, main( )
dipanggil oleh Java interpreter sebelum objek dibuat.
public
,static
,private
, dll) maka tipe kembali (void
dalam hal ini).