Java中成员访问权限
Java中的访问权限控制符有四个: 作用域_____当前类____同一package___子孙类____其他package public______√___________√__________√___________√ protected___√___________√__________√___________× friendly_____√___________√__________×___________× private_____√___________×__________×___________×
注意:没有明确声明时默认为friendly。 另外:访问控制是基于类定义的,不是基于类对象的,对象本身什么访问权限都没有。
java类的访问权限
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。 private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。 default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。默认的保护模式 protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。也就是说,希望包中的一个类被包之外的类继承重用时,就可以使用这个级别。一般应该慎用。(包中类被包外类继承重用) public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。。(跨包访问)
同一个类 同一个包 不同包的子类 不同包的非子类 Private √
Default √ √ Protected √ √ √ Public √ √ √ √
一个文件下可以有多个类
但用public访问修饰符修饰的类只能有一个,并且该类要与生成的物理文件名相同