1. Akses pengubah
Sebelum setiap metode, pemrogram dapat menentukan apa yang disebut pengubah akses. Ini termasuk kata kunci berikut: public
, protected
, private
.
Pengubah akses ini memungkinkan Anda membatasi akses kelas lain ke suatu metode.
Misalnya, jika Anda menulis private
kata kunci sebelum deklarasi metode, maka metode tersebut hanya dapat dipanggil dari kelas yang sama dengan yang dideklarasikan. Kata public
kunci memungkinkan akses ke metode yang ditandai dari metode apa pun dari kelas apa pun.
Ada total 3 pengubah seperti itu, tetapi ada 4 jenis akses ke suatu metode. Ini karena tidak adanya pengubah akses juga berarti sesuatu.
Akses dari... | ||||
---|---|---|---|---|
Pengubah | Kelas apa saja | Kelas anak | Paketnya | Kelasnya |
public |
Ya | Ya | Ya | Ya |
protected |
TIDAK | Ya | Ya | Ya |
tidak ada pengubah | TIDAK | TIDAK | Ya | Ya |
private |
TIDAK | TIDAK | TIDAK | Ya |
1. public
pengubah
Metode (atau variabel, atau kelas) yang ditandai dengan public
pengubah dapat diakses dari mana saja di dalam program . Ini adalah tingkat keterbukaan tertinggi — tidak ada batasan.
2. private
pengubah
Metode (atau variabel, atau kelas) yang ditandai dengan private
pengubah hanya dapat diakses dari kelas yang sama di mana ia dideklarasikan . Untuk semua kelas lain, metode yang ditandai (atau variabel) tidak terlihat. Seolah-olah itu tidak ada. Ini adalah tingkat pembatasan tertinggi — hanya untuk kelasnya sendiri.
3. Tidak ada pengubah (pengubah default)
Jika metode (atau variabel) tidak ditandai dengan pengubah apapun, maka dianggap memiliki 'pengubah default'. Variabel atau metode dengan pengubah itu (yaitu tidak ada sama sekali) dapat dilihat oleh semua kelas dalam paket tempat mereka dideklarasikan . Dan hanya untuk mereka. Pengubah ini juga terkadang disebut package-private
, mengisyaratkan bahwa akses ke variabel dan metode terbuka untuk seluruh paket tempat kelasnya berada.
4. protected
pengubah
Jika suatu metode ditandai dengan protected
pengubah, maka metode tersebut dapat diakses dari kelas yang sama, paket yang sama, dan keturunan (kelas yang mewarisi kelas tempat metode tersebut dideklarasikan). Kami akan menganalisis topik ini lebih detail dalam pencarian Java Core.
Anda dapat menggunakan public
pengubah pada semua metode Anda (serta semua kelas dan variabel kelas Anda) hingga Anda mencapai akhir pencarian Sintaks Java. Anda akan membutuhkan pengubah lainnya saat kita mulai aktif mempelajari OOP.
Mengapa pengubah akses diperlukan?
Mereka menjadi penting untuk proyek besar yang ditulis oleh puluhan dan ratusan programmer pada saat yang bersamaan.
Terkadang ada situasi ketika seorang programmer ingin membagi metode yang terlalu besar menjadi beberapa bagian dan memindahkan sebagian kode ke dalam metode pembantu. Tetapi pada saat yang sama, dia tidak ingin pemrogram lain memanggil metode pembantu ini, karena kode yang sesuai mungkin tidak berfungsi dengan benar.
Jadi mereka membuat pengubah akses ini. Jika Anda menandai metode pembantu dengan kata private , maka tidak ada kode selain kelas Anda yang dapat melihat metode pembantu Anda.
2. static
kata kunci
Kata static
kunci membuat metode menjadi statis. Kita akan melihat apa artinya nanti. Untuk saat ini, ingat saja beberapa fakta tentang metode statis.
Fakta 1. Metode statis tidak dilampirkan ke objek apa pun , melainkan milik kelas tempat ia dideklarasikan. Untuk memanggil metode statis, Anda perlu menulis:
ClassName.MethodName()
Contoh metode statis:
Nama kelas | Nama metode statis | |
---|---|---|
Thread.sleep() |
Thread |
sleep() |
Math.abs() |
Math |
abs() |
Arrays.sort() |
Arrays |
sort() |
Nama kelas sebelum nama metode statis dapat dihilangkan jika Anda memanggil metode statis dari dalam kelasnya. Inilah mengapa Anda tidak perlu menulis Solution
sebelum nama dari setiap metode statis yang dipanggil.
Fakta 2. Metode statis tidak dapat mengakses metode non-statis dari kelasnya sendiri. Metode statis hanya dapat mengakses metode statis. Akibatnya, kami mendeklarasikan semua metode yang ingin kami panggil dari main
metode statis.
Mengapa? Anda akan dapat menjawab sendiri pertanyaan ini saat mulai mempelajari OOP dan memahami cara kerja metode statis.
3. throws
kata kunci
Ada kata kunci lain yang mungkin pernah Anda lihat dalam deklarasi metode — throws
kata kunci. Tidak seperti pengubah akses dan static
kata kunci, kata kunci ini ditempatkan setelah parameter metode:
public static Type name(parameters) throws Exception
{
method body
}
Kami akan mempertimbangkan arti tepatnya nanti ketika kami mempelajari pengecualian.
Tetapi untuk menyentuhnya secara dangkal, kita dapat mengatakan bahwa metode yang ditandai dengan kata kunci throws dapat membuang kesalahan (pengecualian), yang berarti turunan dari kelas Exception
(dan kelas yang mewarisinya). Jika beberapa jenis kesalahan yang berbeda dapat terjadi di kelas, maka Anda perlu membuat daftar masing-masing kesalahan yang dipisahkan dengan koma.
4. main
metode
Baris di mana sebuah metode dideklarasikan, yang berisi semua pengubah, akan mempengaruhi bagaimana metode ini dipanggil dari kelas dan metode lain. Ini memengaruhi jenis hasil yang akan dikembalikan metode dan menunjukkan kesalahan apa yang mungkin terjadi saat dijalankan.
Baris seperti itu disebut deklarasi metode dan memiliki format umum berikut:
access modifier static Type name(parameters) throws exceptions
Di mana access modifiers
diganti dengan public
, protected
, private
, atau tidak sama sekali;
jika metodenya statis, maka static
kata kunci muncul (tidak ada untuk metode non-statis)
Type
adalah jenis nilai pengembalian ( void
jika tidak ada hasil)
Sekarang Anda mungkin mengerti apa arti semua kata kunci dalam deklarasi metode main
:
public static void main(String[] args) throws Exception
main
metode
Akses ke main()
metode dimungkinkan dari kelas mana pun, seperti yang ditunjukkan oleh public
kata kunci.
Metode ini statis, sehingga dapat disebut secara eksplisit sebagai Solution.main()
.
Metode main
tidak mengembalikan hasil apa pun. Jenis pengembaliannya adalah void
(tanpa jenis).
Metode main
mengambil argumen(!): array string. Dan nama parameter args
menyarankan 'argumen' di benak kita. Saat program dimulai, Anda bisa memberikannya argumen — sebuah array string. Mereka akan dimuat dalam args
array dalam main()
metode.
Kesalahan tidak tertangani seperti Exception
(atau turunannya) dapat terjadi dalam main()
metode.
GO TO FULL VERSION