Rumah >Java >javaTutorial >Akses Pengubahsuai dalam Java
Seperti yang kita sedia maklum, Java ialah salah satu bahasa pengaturcaraan teratas di dunia. Berbilion peranti bergantung padanya selama dua dekad yang lalu. Java ialah bahasa yang pantas, boleh dipercayai, selamat dan berbilang platform. Java berjalan pada mana-mana peranti selagi peranti itu mempunyai Java Runtime (JRE), menjadikannya berbilang platform, pantas dan boleh dipercayai. Pengubah suai akses ialah hak milik java, yang menjadikannya selamat merentasi pelbagai platform. Java menyediakan keselamatan peringkat kelas (semasa enkapsulasi) kepada pengaturcara dengan menggunakan sifat pengubah suai akses. Menurut buku itu, Kelas ialah pelan tindakan untuk membina objek dalam java, yang menjadikannya 'Blok bangunan' untuk program kerana Java ialah bahasa Berorientasikan Objek. Pengubah suai akses menentukan cara mana-mana kelas boleh mengakses kelas tertentu dan medan, pembina dan kaedahnya di dalam dan pakej yang berbeza. Kelas, medan, pembina dan kaedah boleh mempunyai satu daripada empat pengubah akses Java yang berbeza.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Jadual berikut meringkaskan cara kami boleh menggunakan pengubah suai akses Java pada program:
Modifiers | Class | Packages | Sub-Class | World |
Private | Y | N | N | N |
Public | Y | Y | Y | Y |
Protected | Y | Y | Y | N |
Default | Y | Y | N | N |
Kami akan merangkumi setiap pengubah suai akses Java dalam bahagian berikut.
Apabila mana-mana kelas, ahli data dan pembolehubah diisytiharkan dengan tidak menulis dengan pengubah suai akses, maka ia ditetapkan kepada pengubah akses 'lalai'. Pengubah suai akses 'lalai' bermakna kod dalam mana-mana kelas boleh mengakses keseluruhan program dalam pakej yang sama.
Contoh #1:
//Java program to show the default modifier. package Test; //Where Class eduCBA is having Default access modifier as no access modifier is specified here class eduCBA { void display () { System.out.println("Hello World!"); } }
Output:
Helo Dunia!
Contoh #2:
//Java program to show error while using class from different package with default modifier package test2; import test.*; //This class check is having default access modifier class Check { public static void main(String args[]) { //accessing class eduCBA from package test eduCBA obj = new eduCBA(); obj.display(); } }
Output:
Ralat masa kompilasi.
Sintaks 'dilindungi' digunakan oleh pengguna apabila mereka mahu menggunakan pengubah suai akses ini.
Sebagai Contoh:
//Java program to show to protected access modifier package test; //Class eduCBA public class eduCBA { protected void display () { System.out.println("Hello World!"); } } //Java program to show to protected modifier in same sub-classes of different packages package test2; import test.*; //Class pro is subclass of eduCBA class pro extends eduCBA { public static void main(String args[]) { pro obj = new pro(); obj.display(); } }
Output:
Helo Dunia!
Pengguna boleh mengisytiharkan kelas, kaedah, pembina dan antara muka dengan pengubah suai akses 'awam', yang boleh mengakses oleh mana-mana kelas, kaedah, pembina dan antara muka dalam atau pakej yang berbeza.
Sebagai Contoh: –
//Java program to show to public access modifier package test; public class eduCBA { public void display () { System.out.println("Hello World!"); } } package test2; import test.*; class pub { public static void main (String args []) { eduCBA obj = new eduCBA (); obj.display (); } }
Output:
Helo Dunia!
Apabila kaedah atau pembolehubah ditandakan sebagai pengubah akses 'peribadi', maka kod di dalam kelas yang sama hanya boleh mengakses kaedah dan pembolehubah tersebut.
Pengguna tidak boleh mengisytiharkan mana-mana kelas super dengan pengubah suai akses 'peribadi' dalam program. Jika pengguna berbuat demikian dengan mana-mana kelas, ia menjadikan kelas itu tidak boleh diakses oleh mana-mana kelas lain dalam pakej yang sama, menjadikan kelas tidak boleh digunakan. Walau bagaimanapun, pengguna boleh mengisytiharkan pembolehubah dan kaedah dalam kelas dengan pengubah suai akses 'peribadi', jadi sesiapa sahaja tidak boleh menggunakan pembolehubah dan kaedah tersebut.
Kadangkala orang keliru dengan pengubah suai akses 'peribadi' dan 'dilindungi', tetapi kedua-duanya berbeza.
Sebagai Contoh: –
//Program to show error while using a class from different packages with private modifier. package test; class eduCBA { private void display() { System.out.println("Hello World!"); } } class Check { public static void main (String args[]) { eduCBA obj = new eduCBA(); //make class check to access private method of another class eduCBA. obj.display(); } }
Output:
ralat: display() mempunyai akses peribadi dalam eduCBA obj.display();
Pengubah suai akses Java memberi anda kelebihan tambahan terhadap program anda apabila anda menjadikannya umum. Seperti yang kita kaji di atas, Pelbagai jenis pengubah suai akses dalam JAVA dan spesifikasinya.
Jadi perlu diingat setiap kali anda menggunakan salah satu daripadanya sebagai akses kelas atau antara muka kerana ia bukan sahaja memberikan akses tetapi juga mengatasinya. Walaupun sentiasa ada kebimbangan mengenai kebolehcapaian kaedah dalam program. Contohnya, jika antara muka diberikan pengubah akses 'lalai' dalam kelas super, ia boleh mengatasi pengubah suai akses yang digunakan dalam subkelas kaedah.
Nota: Kelas termasuk pembolehubah, pembina, medan dan kaedah, dan antara muka termasuk medan atau kaedah tertentu.Atas ialah kandungan terperinci Akses Pengubahsuai dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!