Pengubah Akses Java



Pengubah akses menentukan tingkat visibilitas (dan karena itu akses) untuk entitas Java (kelas, metode, atau bidang). Pengubah akses memungkinkan kami untuk menerapkan enkapsulasi yang efektif. Jika semua anggota variabel suatu kelas dapat diakses dari mana saja, maka tidak ada gunanya menempatkan variabel-variabel ini dalam kelas yang benar dan tidak ada tujuan dalam merangkum data dan metode bersama di kelas.
Java mendukung empat jenis pengubah akses:
  1. Pribadi
  2. Default (tidak ada pengubah akses yang ditentukan)
  3. Terlindung
  4. publik

1. Pengubah Akses Pribadi

Seorang anggota kelas privat tidak dapat diakses dari luar kelas; hanya anggota kelas yang sama yang dapat mengakses anggota pribadi ini.
  • Kelas tidak dapat menjadi pribadi kecuali kelas batin karena kelas batin tidak lebih dari anggota kelas luar. Jadi anggota kelas (bidang, metode, konstruktor, dan kelas batin) bisa menjadi pribadi tetapi bukan kelas itu sendiri.
  • Kami tidak dapat membuat subclass ke kelas yang hanya memiliki konstruktor pribadi.
Diagram berikut menunjukkan penggunaan pengubah akses pribadi dan visibilitasnya:

2. Pengubah Akses Standar (tidak ada pengubah akses yang ditentukan)

Ketika kami tidak menyebutkan pengubah akses apa pun, itu disebut pengubah akses default . Ruang lingkup pengubah ini terbatas pada paket saja. Ini berarti bahwa jika kita memiliki kelas dengan pengubah akses default dalam paket, hanya kelas-kelas yang ada dalam paket ini yang dapat mengakses kelas ini. Tidak ada kelas lain di luar paket ini yang dapat mengakses kelas ini. Demikian pula, jika kita memiliki metode standar atau anggota data di kelas, itu tidak akan terlihat di kelas paket lain.
Diagram di bawah menunjukkan contoh pengubah akses default dan visibilitasnya:

3. Pengubah Akses yang Dilindungi

Jika kelas atau anggotanya dinyatakan dilindungi hanya dapat diakses oleh kelas dari paket yang sama dan subclass yang ada dalam paket apa pun. Anda juga dapat mengatakan bahwa pengubah akses yang dilindungi mirip dengan pengubah akses default dengan satu pengecualian yang memiliki visibilitas dalam subclass.
Kelas tidak dapat dinyatakan dilindungi . Pengubah akses ini umumnya digunakan dalam hubungan orangtua-anak.
Diagram berikut menunjukkan contoh pengubah akses yang dilindungi dan visibilitasnya:

4. Pengubah Akses Publik

Jika kelas atau anggotanya dinyatakan publik , mereka dapat diakses dari kelas lain tanpa memperhatikan batas paket. Hal ini sebanding dengan tempat umum di dunia nyata, seperti kafetaria perusahaan yang semua karyawan dapat menggunakan terlepas dari departemen mereka.
Contoh di bawah ini menunjukkan penggunaan pengubah akses publik dan visibilitasnya. Silakan lihat komentar yang bersifat deskriptif sendiri:
class  ClassA {
     public  String clazzName;

    public  ClassA () {

    }

    public  ClassA ( String  clazzName ) {
         this . clazzName = clazzName;
    }

    public  String  getName () {

        Sistem . keluar . println (clazzName); // public field dapat digunakan di mana pun 
        InnerClass innerClass =  InnerClass baru  (); // Public Inner Class dapat digunakan di mana saja. kembalikan ini . clazzName;
         
    }

     kelas  umum InnerClass {

    }
}

class  ClassB  memperluas  ClassA {
     void  test () {

        Sistem . keluar . println (clazzName); // bidang publik dapat diwariskan ke sub-kelas apa pun

        ClassA classA =  new  ClassA ();

        Sistem . keluar . println (classA . clazzName); // bidang publik dapat digunakan di mana saja

        classA . getName (); // metode publik dapat digunakan di mana saja

        ClassA . InnerClass b =  ClassA baru  . InnerClass (); // Public Inner Class dapat digunakan di mana saja.
    }
}

// bawah kelas adalah paket yang berbeda 
kelas  ClassD  meluas  ClassA {
     kekosongan  methodOfClassD () {
         Sistem . keluar . println (clazzName); // bidang publik dapat diwariskan ke sub-kelas apa pun

        ClassA a =  new  ClassA ();
        Sistem . keluar . println (a . clazzName); // Bidang publik dapat digunakan di mana saja 
        a . getName (); // Metode publik dapat digunakan di mana saja 
        ClassA . InnerClass innerClass =  Kelas baru  . InnerClass (); // Publik kelas batin dapat digunakan di mana saja
    }
}
Diagram di bawah ini diringkas dari konsep-konsep di atas:

Belum ada Komentar untuk "Pengubah Akses Java"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel