Pengubah suai akses awam dan dilindungi menentukan cara ahli kelas atau kaedah diakses. Pengubah suai dilampirkan pada ahli apabila diisytiharkan. Kami tahu bahawa pengubah suai akses ini memainkan peranan penting dalam konsep Java oops seperti enkapsulasi, polimorfisme dan warisan. Ia membantu mengelakkan penyalahgunaan ciri yang disediakan oleh keahlian. Kami akan cuba memahami pengubah akses awam dan dilindungi di Java dengan program sampel.
Java tidak menyekat kebolehcapaian ahli awam. Apa-apa sahaja yang diisytiharkan sebagai awam boleh diakses di mana-mana sahaja, yang bermaksud kita boleh mengaksesnya di dalam kelas, di luar kelas, di dalam pakej dan di luar pakej. Anda mungkin perasan bahawa kaedah main() dalam Java sentiasa ditakrifkan sebagai kaedah awam supaya ia boleh dipanggil oleh mana-mana JVM di luar skop program semasa.
Beberapa contoh pengubah suai akses awam -
public int i1 = 108; public double d2 = 6.55;
Di sini, pembolehubah diisytiharkan sebagai awam.
Contoh berikut menggambarkan cara ahli pakej berfungsi di Java.
class Pack { public void prnt() { // method declared as public String msg = "I am inside a public method"; System.out.print(msg); } } public class ClassShow extends Pack { // public child class public static void main(String args[]) { // creating object of child class ClassShow obj = new ClassShow(); // method calling through object of child class obj.prnt(); } }
I am inside a public method
Dalam kod di atas, kelas "Pek" ialah kelas induk "ClassShow". Dalam kelas induk, kami mengisytiharkan kaedah awam yang dipanggil "prnt()" untuk mencetak mesej ringkas. Dalam kaedah main() subkelas, kami mentakrifkan objek subkelas "ClassShow" untuk memanggil kaedah awam "prnt()". Di sini, subkelas juga awam.
Kebanyakannya digunakan dalam kes pewarisan untuk mengawal akses kepada ahli kelas induk dan ahli subkelas yang sepadan. Ia membenarkan akses kepada elemen di luar pakej semasa, tetapi hanya subkelas langsung kelas. Di sini, pakej ialah bekas yang memuatkan satu set kelas.
Beberapa contoh pengubah suai akses yang dilindungi -
protected int data1 = 5; protected double data2 = 5.55;
Di sini, pembolehubah diisytiharkan sebagai dilindungi.
Contoh berikut menggambarkan penggunaan kaedah yang dilindungi di Jawa.
class Pack { protected void prnt() { String msg = "Tutorials Point!!"; System.out.print("Welcome to " + msg); } } public class ClassShow extends Pack { public static void main(String args[]) { // creating object of child class ClassShow obj = new ClassShow(); // method calling through object of child class obj.prnt(); } }
Welcome to Tutorials Point!!
Dalam kod di atas, kelas "Pek" ialah kelas induk "ClassShow". Dalam kelas induk, kami mengisytiharkan kaedah yang dilindungi dipanggil "prnt()" untuk mencetak mesej ringkas. Dalam kaedah main() subkelas, kami mentakrifkan objek subkelas 'ClassShow' untuk memanggil kaedah yang dilindungi 'prnt()'.
Daripada perbincangan di atas, kita boleh memperoleh perbezaan berikut antara pengubah akses awam dan peribadi -
Awam |
Dilindungi |
---|---|
Kita perlu menggunakan kata kunci "awam" untuk menyatakan bahawa ahli adalah awam. |
Kami menggunakan kata kunci "dilindungi" untuk menyatakan bahawa ahli dilindungi. |
Kita boleh mentakrifkan mana-mana kelas sebagai kelas awam. |
Kelas tidak boleh ditakrifkan sebagai dilindungi. |
Ahli awam boleh diakses oleh mana-mana kelas di dalam dan di luar pakej. |
Ahli yang dilindungi boleh diakses dalam pakej dan juga pakej lain. Tetapi untuk pakej lain, ia hanya boleh diakses oleh kelas yang diwarisi. |
Terpakai kepada Perdana dan Ahli. |
Hanya tersedia di peringkat keahlian. |
Kami mula-mula menentukan pengubah suai akses awam dan dilindungi, dan dalam bahagian kemudian, kami menerangkannya secara terperinci dengan contoh masing-masing. Akhirnya, kita membincangkan beberapa perbezaan antara mereka.
Atas ialah kandungan terperinci Perbezaan antara pengubah suai akses awam dan dilindungi di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!