- 访问权限控制的等级,从最大权限到最小权限依次为:public、protected、包访问权限(没有关键词)和private
- 包访问权限为把类群聚在一个包中的做法提供了意义和理由
- 取得对某成员的访问权的唯一途径是:
- 使该成员为public
- 通过不加访问权限修饰词并将其他类放置于同一个包内的方式给成员赋予包访问权限
- 继承而来的类既可以访问public成员,又可以访问protected成员
- 提供访问器和变异器方法(即get/set方法),以读取和改变数值
public
-
public之后紧跟的成员声明,对每个人都是可用的
-
默认包
private
- private除了包含该成员的类之外,其他任何类都无法访问这个成员
-
可以防止被误用
protected
- protected作用:将某个特定成员的访问权限赋予派生类而不是所有类
处理方法:
接口与实现
- 具体实现的隐藏:访问权限的控制
- 设定可以使用与不可以使用的界限
- 将接口与具体实现分离
- 封装:将数据和方法包装进类中,以及具体实现的隐藏
- 建议:将public成员置于开头、然后是protected、包访问权限和private成员
类的访问权限
- 类的访问权限可以控制是否可以创建类的对象
- 类的访问权限修饰词必须出现在class之前
package access;
public class dog{
}
- 引用类的方式:import access.dog; 或 import access.*;
- 每个编译单元(文件)都只能有一个public类
- public类的名字必须完全与含有该编译单元的文件名相匹配,包括大小写
- 编译单元内可以完全不带public类,该情况可以随意对文件命名
- 对于类的访问权限,仅有两个选择:包访问权限 或 public
-
private可以阻止任何人创建该类的对象,除非在该类的static成员内部创建
网友评论