JAVA_SE基礎——59.權限訪問修飾符

瞭解了包的概念,就能夠系統的介紹Java中的訪問控制級別。在Java中,針對類、成員方法和屬性提供了四種訪問級別,分別是private、default、protected和public。html


權限訪問修飾符(權限從大到小依次往右排)
  public(公共) protected(受保護) default(缺省) private(私有)
同一個類
同一個包 ×
子父類 × ×
不一樣包 × × ×

public 和 private 在這裏我就不一一介紹了,想必你們比我還熟悉了吧。
還有protected和default 在同一個類中  我也不驗證了(由於最小權限的private均可以在同一個類中互相訪問,這兩個也確定能夠了)



驗證protected修飾的屬性 在同一個包能不能被訪問。:
package d;
class Demo7 {
	
		protected int a = 1 ;
	
}
package d;
public class Demo8 {
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}
運行結果:

能訪問的到!

驗證default(缺省)修飾的屬性 在同一個包能不能被訪問。:

package d;
class Demo7 {
	int a = 1 ;	
}
package d;
public class Demo8 {
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}
運行結果:


能訪問的到!


驗證protected修飾的屬性 在子父類中能不能被訪問。:
package d;
class Demo7 {
	protected int a = 1 ;	
}
package d;
public class Demo8 extends Demo7 {
	public static void main(String[] args) {
		Demo8 z = new Demo8();
		System.out.println("a="+z.a);
	}
}
運行結果:


能訪問的到!


驗證default(缺省)修飾的屬性 在子父類中能不能被訪問。:

package d;
class Demo7 {
	int a = 1 ;	
}
package e;
import d.*;
public class Demo8 extends Demo7 {
	public static void main(String[] args) {
		Demo8 z = new Demo8();
		System.out.println("a="+z.a);
	}
}
運行結果:


不能訪問的到!

驗證protected修飾的屬性 在不一樣包中能不能被訪問。:
package d;
class Demo7 {
	protected int a = 1 ;	
}
package e;
import d.*;
public class Demo8{
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}
運行結果:


不能訪問的到!

驗證default(缺省)修飾的屬性 在不一樣包中能不能被訪問。:

package d;
class Demo7 {
	int a = 1 ;	
}
package e;
import d.*;
public class Demo8{
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}
運行結果:

不能訪問的到!


交流企鵝:654249738,和自學者交流羣:517284938
相關文章
相關標籤/搜索