java筆記14之private

weixin_30588675發表於2020-04-05

private:
        1 是一個許可權修飾符
        2 可以修飾成員變數和成員方法
        被其修飾的成員只能在本類中被訪問

 1 class Demo {
 2     //int num = 10;
 3     //用private修飾
 4     private int num = 10;
 5     
 6     public void show() {
 7         System.out.println(num);
 8     }
 9     
10     private void method() {
11         System.out.println("method");
12     }
13     
14     public void function() {
15         method();
16     }
17 }
18 
19 class PrivateDemo {
20     public static void main(String[] args) {
21         Demo d = new Demo();
22         //不能方法私有的成員變數
23         //System.out.println(d.num);
24         d.show();
25         //不能訪問私有的成員方法
26         //d.method();
27         d.function();
28     }
29 }

封裝和private的應用:
        A:把成員變數用private修飾
        B:提高對應的getXxx()和setXxx()方法

 1 class Student {
 2     //姓名
 3     private String name;
 4     //年齡
 5     private int age;
 6     
 7     //姓名獲取值
 8     public String getName() {
 9         return name;
10     }
11     
12     //姓名設定值
13     public void setName(String n) {
14         name = n;
15     }
16     
17     //年齡獲取值
18     public int getAge() {
19         return age;
20     }
21     
22     //年齡賦值
23     public void setAge(int a) {
24         age = a;
25     }
26 }
27 
28 //測試類
29 class StudentTest {
30     public static void main(String[] args) {
31         //建立學生物件
32         Student s = new Student();
33         
34         //使用成員變數
35         //錯誤:被私有修飾了,外界不能直接訪問了
36         //System.out.println(s.name+"---"+s.age);
37         System.out.println(s.getName()+"---"+s.getAge());
38         
39         //給成員變數賦值
40         //s.name = "林青霞";
41         //s.age = 27;
42         //通過方法給賦值
43         s.setName("林青霞");
44         s.setAge(27);
45         System.out.println(s.getName()+"---"+s.getAge());
46     }
47 }

 

轉載於:https://www.cnblogs.com/lanjianhappy/p/6268765.html

相關文章