java中4种修饰符访问权限的区别及详解全过程

2025-04-25 20:00:12

1、首先,说明public的权限问题,定义4个类Person、People、Student、Computer,分别比较本类、同包、子类、其他包的区别。这里要注意:当重写父类成员函数时,子类的成员函数不能比父类的成员函数权限小,一般重写把权限定义相同即可。代码如图所示:

java中4种修饰符访问权限的区别及详解全过程
java中4种修饰符访问权限的区别及详解全过程
java中4种修饰符访问权限的区别及详解全过程
java中4种修饰符访问权限的区别及详解全过程

2、上边把类都建好了,然后开始测试,如果均能编译通过,就说明用public修饰的类在本类、同包、子类、其他包中互相访问都是可以的。测试结果如下:(事实证明可以访问)

java中4种修饰符访问权限的区别及详解全过程

3、再来说明protect权限问题,同样定义4个类Person、People、Student、Computer,分别比较本类、同包、子类、其他包的区别。这里要注意:public可以修饰任何类而且类名要与文件名相同,protected不可以修饰类。Person代码如图所示,其他3个类同上:

java中4种修饰符访问权限的区别及详解全过程

4、同样开始测试protected权限问题,如果Person、People、Student能编译通过,就说明用protected修饰的类在本类、同包、子类中互相访问都是可以的,而Computer编译不通过说明protected不可以在包外没有继承关系的类中互相访问。测试结果如下:

java中4种修饰符访问权限的区别及详解全过程

5、接着说明default权限问题,同样定义4个亿姣灵秀类Person、People、Student、Computer,分别比较本类、同包、子类、其他包的区别。这里要注意:default(不写默认汜枸赓觅指定default)同public一样可以修饰任何类而且类名要与文件名相同。Person代码如图所示,其他3个类同上:

java中4种修饰符访问权限的区别及详解全过程

6、继续开始测试default权限问题,如果Person、People能编译通过,就说明用default修饰的类在本类、同包中互相访问都是可以的,而Student、Computer编译不通过说明default不可以在包外不管有没有继承关系的类都不可以互相访问。测试结果如下:

java中4种修饰符访问权限的区别及详解全过程
java中4种修饰符访问权限的区别及详解全过程

7、最后说明private权限问题,同样定义4个类Person、People、Student、Computer,分别比较本类、同包、子类、其他包的区别。这里要注意:private同protected一样不可以修饰类。Person代码如图所示,其他3个类同上:

java中4种修饰符访问权限的区别及详解全过程

8、最后测试private权限问题,private意思是私有的,如果Person能编译通过而People、Student、Computer编译不通过,就说明用private修饰的类只能在本类中访问。测试结果如下:

java中4种修饰符访问权限的区别及详解全过程

9、综上所述,java中4种修鹘埙沃础饰符访问权限的区别及详解全过程就此演示完了,再一次说明java语言的严谨性和安全性,我们在以后使用这4中值檄钕眇修饰符时创建一个类,这个类的权限尽量要小,这样才能减少漏洞和提高安全性,从而体现java面向对象的封装性。最后如图再回忆一下java中4个修饰符的访问权限:

java中4种修饰符访问权限的区别及详解全过程
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢