23、訪問控制權限

訪問控制權限

Java有四種訪問控制權限:public,protected,default,private

No. 範圍 public protected default private
1 在同一個類中
2 在同一包的不同類
3 在不同包的子類
4 在不同包的非子類

protected權限與包的定義有關。
範例:定義com.java.demoA.A類

package com.java.demoa;

public class A {
    protected String info = "Hello";
}

範例:定義com.java.demoB.B類

package com.java.demoB;

import com.java.demoa.A;

public class B extends A { // 與A處於不同包中
    public void print() {
        System.out.println("A中的info:" + super.info);
    }
}

範例:測試

package com.java.test;

import com.java.demoB.B;

public class Test {
    public static void main(String[] args) {
        new B().print(); // A中的info:Hello
    }
}

範例:由Test類直接輸出A類中的屬性

package com.java.test;

import com.java.demoa.A;

public class Test {
    public static void main(String[] args) {
        System.out.println(new A().info); // 報錯,無法訪問info
    }
}

由於Test與A不在同一個包,並且沒有繼承關係,所以是無法訪問protected權限。

總結:
1.Java的封裝性是以private、protected、default三種權限爲主;
2.對於權限的選擇,建議如下:
·聲明屬性就用private;
·聲明方法就用public;
3.關於命名要求:
· 類名稱每個單詞的首字母大寫,其餘字母小寫,例如:StudentInfo;
· 屬性名稱第一個單詞字母小寫,而後每個單詞首字母大寫,例如:studentName;
· 方法名稱第一個單詞字母小寫,而後每個單詞首字母大寫,例如:toString();
· 常量名全部大寫,例如:MSG;
· 包名全部小寫,例如:com.java.demo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章