JAVA_SE基础——59.权限访问修饰符
Posted 脚本叔叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA_SE基础——59.权限访问修饰符相关的知识,希望对你有一定的参考价值。
了解了包的概念,就可以系统的介绍Java中的访问控制级别。在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。
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
以上是关于JAVA_SE基础——59.权限访问修饰符的主要内容,如果未能解决你的问题,请参考以下文章
一脚踩进java之基础篇21——面向对象 (访问修饰符代码块)
1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用
阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第6节 权限修饰符_6_四种权限修饰符