java 的访问权限控制符

来源:互联网 发布:适合nodejs的cms 编辑:程序博客网 时间:2024/05/23 15:43

java有四种访问权限

1. private 私有
2. 不用修饰符 只有包内的类才能被访问,所以有"包访问权限"的称呼
3. protected 不但包内的类可以访问,所以继承的子类也可以访问
4. public 公有,都可以访问

 

同一个类

同一个包

不同包的子类

不同包的非子类

Private

 

 

 

Default

 

 

Protected

 

Public

1.public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
2.private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
3.protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
4.default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。

5、类的访问限制,仅有public和包访问权限;   

        a、一个Java文件只能有一个public类  

        b、public类的名称必须同Java文件名完全一致

        c、若Java文件中没有public类,则文件名可以任意

6、final关键字

        a、final数据成员,使用前总是被初始化并被强制要求在定义处或构造器中赋值;一旦赋值后,对于基本类型其值会恒定不变,而对于对象引用会始终指向赋值的对象,但指向对象自身是可以修改的;  

        b、final参数,对于基本类型表示无法改变参数的值,对于对象引用表示无法改变引用所指的对象;

        c、final方法,保证方法不会在继承后修改和重载;所有的private方法都隐含式final的;Java中使用动态绑定(后期绑定)实现多态,除了static和final方法是使用前期绑定的;

        d、final类,表示该类不可被继承