首页 > 技术文章 > Java中的访问修饰符(二十七)

animo-2020 2020-04-07 11:05 原文

访问(控制)修饰符:可以修饰属性和方法的访问范围

(在实际生活中,如果要获取某件物品,与其直接穿过堡垒的墙壁,从而导致墙壁毁灭和破坏,不如通过门口的警卫请求进入堡垒的许可。一般而言,这对对象同样适用:没有对象的许可(即对象的属性是私有的),不能直接访问该对象的私有属性。)

通过使用访问控制修饰符来限制对对象私有属性的访问,有以下3个优点:

  防止对封装数据的未授权访问

  有助于保证数据完整性

  当类的私有实现细节必须改变时,可以限制发生在整个应用程序中的“连锁反应”

 

访问控制符是一组限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符。

-  类的访问控制符只能是空或者 public。

-  方法和属性的访问控制符有 4 个,分别是 public、 private、protected 和 friendly。其中 friendly 是一种没有定义专门的访问控制符的默认情况。

如: 

在辅助类 Student 中,创建了 4 个属性,其访问控制分别为默认的、私有的、受保护的和共有的,除了私有控制符修饰的变量之外,其他的都可以被主类访问,同时创建了一个共有的方法——info(),用于打印用户信息。

 运行结果:

在源文件中创建了两个类,分别为主类 StudentTest 和辅助类 Student,二者在同一个包中。

在主类 StudentTest 中,创建类 Student 的实例化对象 stu,通过对象 stu 来访问该对象中的属性并赋值,因为 idNumber 属性的修饰符为 private(私有的),因此,在 StudentTest 类中的 main() 方法中无法访问该属性。

从上面的例子中可以看出,范围控制修饰符成功地限制了访问者访问不同修饰符的属性(成员变量),从而实现了数据的隐藏。

 

推荐阅读