background image

例的引用。

 

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