Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Pengubah Akses Java

Pengubah Akses Java

Dalam tutorial ini, kita akan belajar tentang Java Access Modifier, jenisnya, dan cara menggunakannya dengan bantuan contoh.

Apa itu Access Modifiers?

Di Java, pengubah akses digunakan untuk mengatur aksesibilitas (visibilitas) kelas, antarmuka, variabel, metode, konstruktor, anggota data, dan metode penyetel. Misalnya,

class Animal {
    public void method1() {...}

   private void method2() {...}
}

Dalam contoh di atas, kita telah mendeklarasikan 2 metode:method1() dan method2(). Di sini,

Perhatikan kata kunci public dan private . Ini adalah pengubah akses di Jawa. Mereka juga dikenal sebagai pengubah visibilitas.

Catatan :Anda tidak dapat menyetel pengubah akses metode getter.


Jenis Pengubah Akses

Sebelum Anda mempelajari tentang jenis pengubah akses, pastikan Anda mengetahui tentang Paket Java.

Ada empat kata kunci pengubah akses di Java dan mereka adalah:

Pengubah Deskripsi
Bawaan deklarasi hanya terlihat di dalam paket (paket pribadi)
Pribadi deklarasi hanya terlihat di dalam kelas
Dilindungi deklarasi terlihat di dalam paket atau semua subclass
Publik deklarasi terlihat di mana-mana

Pengubah Akses Default

Jika kita tidak secara eksplisit menentukan pengubah akses untuk kelas, metode, variabel, dll, maka secara default pengubah akses default dipertimbangkan. Misalnya,

package defaultPackage;
class Logger {
    void message(){
        System.out.println("This is a message");
    }
}

Di sini, Logger kelas memiliki pengubah akses default. Dan kelas terlihat oleh semua kelas yang termasuk dalam defaultPackage kemasan. Namun, jika kita mencoba menggunakan Logger kelas di kelas lain di luar defaultPackage, kita akan mendapatkan kesalahan kompilasi.


Pengubah Akses Pribadi

Ketika variabel dan metode dideklarasikan private , mereka tidak dapat diakses di luar kelas. Misalnya,

class Data {
    // private variable
    private String name;
}

public class Main {
    public static void main(String[] main){

        // create an object of Data
        Data d = new Data();

        // access private variable and field from another class
        d.name = "Programiz";
    }
}

Pada contoh di atas, kita telah mendeklarasikan variabel private bernama name dan metode pribadi bernama display() . Saat kita menjalankan program, kita akan mendapatkan error berikut:

Main.java:18: error: name has private access in Data
        d.name = "Programiz";
         ^

Kesalahan terjadi karena kami mencoba mengakses variabel pribadi dan metode pribadi Data kelas dari Utama kelas.

Anda mungkin bertanya-tanya bagaimana jika kita perlu mengakses variabel pribadi tersebut. Dalam hal ini, kita dapat menggunakan metode getter dan setter. Misalnya,

class Data {
    private String name;

    // getter method
    public String getName() {
        return this.name;
    }
    // setter method
    public void setName(String name) {
        this.name= name;
    }
}
public class Main {
    public static void main(String[] main){
        Data d = new Data();

        // access the private variable using the getter and setter
        d.setName("Programiz");
        System.out.println(d.getName());
    }
}

Keluaran :

The name is Programiz

Dalam contoh di atas, kami memiliki variabel pribadi bernama name . Untuk mengakses variabel dari kelas luar, kami telah menggunakan metode:getName() dan setName() . Metode ini disebut getter dan setter di Java.

Di sini, kami telah menggunakan metode setter (setName() ) untuk menetapkan nilai ke variabel dan metode pengambil (getName() ) untuk mengakses variabel.

Kami telah menggunakan this kata kunci di dalam setName() untuk merujuk ke variabel kelas. Untuk mempelajari lebih lanjut tentang kata kunci ini, kunjungi Java Kata Kunci ini.

Catatan :Kami tidak dapat mendeklarasikan kelas dan antarmuka pribadi di Jawa. Namun, kelas bersarang dapat dinyatakan pribadi. Untuk mempelajari lebih lanjut, kunjungi Java Nested dan Inner Class.


Pengubah Akses yang Dilindungi

Ketika metode dan anggota data dideklarasikan protected , kita dapat mengaksesnya dalam paket yang sama dan juga dari subkelas. Misalnya,

class Animal {
    // protected method
    protected void display() {
        System.out.println("I am an animal");
    }
}

class Dog extends Animal {
    public static void main(String[] args) {

        // create an object of Dog class
        Dog dog = new Dog();
         // access protected method
        dog.display();
    }
}

Keluaran :

I am an animal

Dalam contoh di atas, kami memiliki metode yang dilindungi bernama display() di dalam Hewan kelas. Hewan kelas diwarisi oleh Anjing kelas. Untuk mempelajari lebih lanjut tentang pewarisan, kunjungi Warisan Java.

Kami kemudian membuat objek anjing dari Anjing kelas. Dengan menggunakan objek, kami mencoba mengakses metode yang dilindungi dari kelas induk.

Karena metode yang dilindungi dapat diakses dari kelas anak, kami dapat mengakses metode Animal kelas dari Anjing kelas.

Catatan :Kami tidak dapat mendeklarasikan kelas atau antarmuka protected di Jawa.


Pengubah Akses Publik

Ketika metode, variabel, kelas, dan sebagainya dideklarasikan public , maka kita dapat mengaksesnya dari mana saja. Pengubah akses publik tidak memiliki batasan ruang lingkup. Misalnya,

// Animal.java file
// public class
public class Animal {
    // public variable
    public int legCount;

    // public method
    public void display() {
        System.out.println("I am an animal.");
        System.out.println("I have " + legCount + " legs.");
    }
}

// Main.java
public class Main {
    public static void main( String[] args ) {
        // accessing the public class
        Animal animal = new Animal();

        // accessing the public variable
        animal.legCount = 4;
        // accessing the public method
        animal.display();
    }
}

Keluaran :

I am an animal.
I have 4 legs.

Di sini,


Pengubah Akses Diringkas dalam satu gambar

Pengubah akses terutama digunakan untuk enkapsulasi. Saya dapat membantu kami untuk mengontrol bagian program mana yang dapat mengakses anggota kelas. Sehingga penyalahgunaan data dapat dicegah. Untuk mempelajari lebih lanjut tentang enkapsulasi, kunjungi Enkapsulasi Java.


java

  1. C# Akses Pengubah
  2. Operator Jawa
  3. Komentar Jawa
  4. Java untuk setiap Loop
  5. String Jawa
  6. Antarmuka Jawa
  7. Kelas Anonim Java
  8. Java mencoba-dengan-sumber daya
  9. Anotasi Jawa
  10. Pernyataan Jawa