1. Merangkumkan atribut supaya pengguna tidak boleh memasukkan data secara langsung Kami perlu menghalang pengguna daripada menggunakan kaedah "object.property" untuk menetapkan nilai kepada atribut. Kemudian anda perlu mengisytiharkan atribut sebagai peribadi
2. Kami menswastakan atribut kelas dan menyediakan kaedah awam untuk mendapatkan (getXxx) dan menetapkan (setXxx) Nilai atribut ini
mencerminkan pengkapsulan dan memerlukan pengubah kebenaran untuk memadankan
1 Terdapat 4 jenis kebenaran yang ditentukan oleh Java (disusun dari kecil ke besar) : peribadi, Lalai, dilindungi, awam
<.>2. Empat kebenaran ini boleh digunakan untuk mengubah suai kelas dan struktur dalaman mereka: Atribut, kaedah, pembina, kelas dalaman
3 Khusus Ya, kesemua 4 kebenaran boleh digunakan untuk mengubah suai dalaman struktur kelas: Atribut, kaedah, pembina, kelas dalaman Jika anda ingin mengubah suai kelas, anda hanya boleh menggunakan: lalai, awam
Contoh:
package KindMethod3; public class privateTest { // 用private修饰,定义为私有变量,外不不能随意更改 private int age; //年龄 private String name; //名字 // 同时,我们给这两个属性创建两个可以更改他们的接口 public void setAge(int age){ this.age=age; } public int getAge(){ return age; } public void setName(String name){ this.name=name; } public String getName(){ return name; } public void disPlay(){ System.out.println("我的名字叫"+name+"今年"+age+"岁"); } }
package KindMethod3; public class privateTest1 { public static void main(String[] args) { privateTest sc = new privateTest(); // 这个时候就不能直接给类中属性直接赋值了,就会报错 // sc.age=18; // sc.name="小芳" // 我们需要通过set方法给属性赋值,get取值 sc.setAge(18); sc.setName("小芳"); sc.disPlay(); } }
Semak kod untuk melihat hasil yang sedang dijalankan:
public class Order { private int text1; int text2; public int text3; private void methodPrivate(){ text1 = 1; text2 = 2; text3 = 3; } void methodDefault(){ text1 = 1; text2 = 2; text3 = 3; } public void methodPublic(){ text1 = 1; text2 = 2; text3 = 3; } }
public class OrderTest { public static void main(String[] args) { Order order = new Order(); order.text2 = 1; order.text3 = 2; //出了Order类之后,私有的结构就不可以调用了 // order.text1 = 3;//The field Order.text1 is not visible order.methodDefault(); order.methodPublic(); //出了Order类之后,私有的结构就不可以调用了 // order.methodPrivate();//The method methodPrivate() from the type Order is not visible } }
Atas ialah kandungan terperinci Analisis contoh aplikasi enkapsulasi java dan pengubah kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!