例的引用。
3.域的访问控制
类的域在类的里面都是可见的,类中的所有方法都可以使用它们。
在类的外部,类中域的可见性由关键字
public、private、protected 来控制,称为类的域的
访问权限修饰符。
4 种访问权限所使用的修饰符和含义如下。
① public:用 public 修饰的成员可以被所有其他的类来访问。
② private:类中限定为 private 的成员只能被这个类本身访问,在类的外部,类的
private 成员是不可见的 。
③ protected:类中限定为 protected 成员。只有其子类(不论是否在同一个包中)以及同一
个包内的其他类,才能访问该类的
protected 成员。
④ 缺省的:如果类成员的访问权限没有设定,这时类的成员具有包访问权限。
请注意,方法定义中的参数和方法体中的变量都是局部变量,不能使用上面的访问权
限修饰符。
4.封装和公开
如果把类中的变量用
public 修饰,则这些变量完全公开,可以直接访问和修改。
面向对象程序设计中,通过类和类成员的访问控制级别的限定,较好地解决了封装和
公开的问题。如果将成员变量标识为
private,则它在类的外部不可见,使数据得到了封装。
为了能够访问这些私有数据,就必须提供
public 或者 protected 的成员方法来获取(get)和
设置(
set)这些 private 变量的值。
通常获取和设置
private 变量的方法命名采用以下形式:
[public|protected] 变量类型 get 变量名(){
return 变量名;
}
[public|protected] void set 变量名(类型 参数名){
合法性检查并赋值;
}
5.静态域
类中的变量用来描述该类对象的属性,它们与每个具体对象相关联,因此也把它们称
为类的实例变量。用
static 修饰的变量称为静态变量或静态域。
当一个变量用
static 修饰时,表明它不属于任何一个类的具体对象,而是所有对象共享 ,
static 变量只有一个拷贝,这个存储单元被所有对象共享。该类的任何一个对象访问和修改
它时,都是对这个共享的存储单元进行操作。
由于静态变量属于整个类,即使没有创建任何对象时,类中的
static 变量也会存在,也可以
使用静态变量,这时可以通过类名作前缀访问静态变量:
类名.静态变量
若创建了某个类的具体对象后,可以通过类名或对象名作前缀访问静态变量:
对象名.静态变量
6.最终域(final)
若类中的变量用关键字
final 修饰,则表明该变量一旦被显示的值(不能默认初始化)
初始化后就不可能重新再赋值。因此,
final 修饰的变量通常是程序中不能改变的常量 。
public static final 类型 常量名=初始值;
常量名大写,名字中包含多个单字时用下划线分隔。
圆周率常量
Math.PI、自然常数 Math.E 等。基本数据类型包装类中的 int 类型的最大值
2