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

Memahami Java Access Modifiers: Jenis, Aturan, dan Contoh Praktis

Java Access Modifiers

Tutorial ini menjelajahi access modifiers Java, keempat jenisnya, dan mendemonstrasikan penggunaannya melalui contoh yang jelas.

Apa itu Access Modifiers?

Di Java, access modifiers menentukan visibilitas kelas, antarmuka, variabel, metode, konstruktor, dan anggota data. Misalnya,

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

Pada contoh di atas, method1 adalah public – dapat diakses dari kelas mana pun. method2 adalah private – terbatas pada kelas yang melingkupi.

Kata kunci ini – public dan private – adalah visibility modifiers inti di Java.

Catatan: Metode getter itu sendiri tidak dapat dideklarasikan dengan access modifier.


Jenis Access Modifiers

Sebelum mempelajari modifiers, pastikan Anda memahami paket Java.

Java menawarkan empat visibility modifiers utama:

ModifierDeskripsi
Default (package-private)Terlihat hanya dalam paket yang sama.
PrivateTerlihat hanya dalam kelas yang mendeklarasikannya.
ProtectedTerlihat dalam paket dan pada subclass di paket lain.
PublicTerlihat di mana saja.

Default Access Modifier

Jika tidak ada modifier yang ditentukan, Java menerapkan visibilitas default (package-private). Misalnya:

package defaultPackage; class Logger { void message() { System.out.println("Ini adalah pesan"); } }

Kelas Logger hanya dapat diakses oleh kelas dalam defaultPackage. Menggunakannya dari paket lain akan menghasilkan kesalahan kompilasi.


Private Access Modifier

Mendeklarasikan anggota sebagai private membatasi aksesnya ke kelas yang melingkupi:

class Data { private String name; } public class Main { public static void main(String[] args) { Data d = new Data(); d.name = "Programiz"; // ❌ kesalahan waktu kompilasi } }

Kesalahan terjadi karena name bersifat private terhadap Data. Untuk mengeksposnya dengan aman, sediakan metode accessor:

class Data { private String name; public String getName() { return this.name; } public void setName(String name) { this.name = name; } } public class Main { public static void main(String[] args) { Data d = new Data(); d.setName("Programiz"); System.out.println(d.getName()); } }

Output:

Nama adalah Programiz

Perhatikan bahwa nested classes dapat dideklarasikan private, tetapi top-level classes dan antarmuka tidak dapat.

Catatan: Java tidak mengizinkan top-level classes atau antarmuka untuk private.


Protected Access Modifier

Anggota yang ditandai protected terlihat dalam paket yang sama dan pada subclass di paket lain. Contoh:

class Animal { protected void display() { System.out.println("Saya adalah seekor hewan"); } } class Dog extends Animal { public static void main(String[] args) { Dog dog = new Dog(); dog.display(); // ✅ diizinkan } }

Output:

Saya adalah seekor hewan

Anggota protected tidak dapat dideklarasikan pada top-level classes atau antarmuka.

Catatan: Top-level classes dan antarmuka tidak dapat protected.


Public Access Modifier

Anggota yang dideklarasikan public dapat diakses secara universal:

// Animal.java public class Animal { public int legCount; public void display() { System.out.println("Saya adalah seekor hewan."); System.out.println("Saya memiliki " + legCount + " kaki."); } } // Main.java public class Main { public static void main(String[] args) { Animal animal = new Animal(); animal.legCount = 4; animal.display(); } }

Output:

Saya adalah seekor hewan. Saya memiliki 4 kaki.

Ringkasan: Animal (kelas public), legCount (field public), dan display() (metode public) semuanya dapat diakses dari Main.


Access Modifiers diringkas dalam satu gambar

Memahami Java Access Modifiers: Jenis, Aturan, dan Contoh Praktis

Access modifiers menjadi dasar enkapsulasi, memungkinkan pengembang untuk mengontrol visibilitas dan melindungi integritas data. Untuk selengkapnya tentang enkapsulasi, lihat Java Encapsulation.

java

  1. Memahami Modifier Akses C#: Public, Private, Protected, Internal, dan Lainnya
  2. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  3. Komentar Java: Tipe, Penggunaan, dan Best Practices
  4. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  5. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  6. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  7. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  8. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  9. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  10. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode