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

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

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

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

有助于保证数据完整性

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

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

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

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

如:

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

运行结果:

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

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

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

java 属性访问修饰符_Java中的访问修饰符(二十七)相关推荐

  1. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

  2. java中类的修饰符_Java中的类修饰符

    之前每次写小测试程序的时候,总是把一个类放在一个Java文件中,按理说这样比较规范,可主要原因是我是在不知道怎么在一个文件里放多个类,可见java基础有多差了...只要把类的属性改成默认的就可以了,也 ...

  3. java sql in 占位符_Java中SQL语句占位符的使用

    使用占位符的好处 在SQL语句中使用?来代替具体的数值,可除去繁琐的字符串拼接操作,且可避免SQL注入的风险String sql="SELECT * FROM user_login WHER ...

  4. java定时器注解加效验_Java中定时器的使用之二(springboot–@Scheduled注解)

    在日常开发中我们经常会遇到定时器的需求,这段时间通过查阅资料,也有些收获,因此准备在这里跟大家分享下. 上次讲了如何利用Timer和TimerTask类创建定时任务:本文主要讲的是,如何利用sprin ...

  5. java的四个访问修饰符_Java中的四种访问修饰符

    Java中修饰符分为两种:访问修饰符和非访问修饰符.修饰符中,有一些修饰符可以既可以修饰类,也可以修饰方法,但是有一些修饰符只能修饰符方法. 今天这篇文章先介绍一下四种访问修饰符. 1.private ...

  6. java 权限修饰符_java中4种访问权限修饰符

    在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性. 一.public (1) 定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到. ...

  7. java中访问修饰符_Java中的非访问修饰符是什么?

    java中访问修饰符 Java非访问修饰符 (Java non access modifiers) We have 7 non-access modifiers in Java. The name o ...

  8. java中有哪些访问修饰符_java中四种访问修饰符

    Java中的四种访问修饰符:public.protected.default(无修饰符,默认).private. 四种修饰符可修饰的成分(类.方法.成员变量) public protected def ...

  9. java四种修饰符_java中的四种修饰符

    在编程过程中,经常会遇到四种修饰符来控制访问权限.之前对这个知识点没有研究过,一直是一知半解,每次遇到问题都模棱两可,不能给出一个确切的答案.近几天系统的看了看,也有了自己的一点心得体会. 正文: 先 ...

最新文章

  1. Java IO系列之字节流拷贝文件性能比较
  2. 为什么我们会被这种 “提前退休” 的节奏逼疯?
  3. c++精确到小数点后两位_高考试卷的小数点是怎么算入总分的?
  4. NIPS 2018 论文解读集锦(11月28日更新)
  5. php redis 主从配置,Redis主从及其PHP扩展安装配置
  6. Android攻城狮GestureDetector和GestureOverlayView
  7. 今年阿里双十一提升广告点击率居然用的是这种算法?!
  8. python argparse_Python 命令行之旅——初探 argparse
  9. EditPlus Version 3 价格 代理商 销售价格 正版软件价格
  10. kX3552 + HiFi级播放器 + wifi无线保真= 实战HiFi音乐娱乐欣赏
  11. 林期苏曼属性标签编辑_标签制作软件如何制作椭圆形药品标签
  12. ajax参数该怎么传递?ajax参数传递
  13. 「 微信黑科技 」神奇符号
  14. 融合黄金正弦与sigmoid连续化的海鸥优化算法-附代码
  15. java watcher service_GitHub - sinix/watcher: watcher(守望者)提供java应用暴露监控/健康检查的能力。...
  16. Notion,程序员最后一款笔记软件
  17. WIN11添加我的电脑图标等的方法
  18. 《中国集成电路产业人才白皮书(2017-2018)》在京发布
  19. mysql中的left和right
  20. NeurlPS2020:Neuron-level Structured Pruning using Polarization Regularizer(polarization正则化技术)

热门文章

  1. RHEL124第一天
  2. 微软和Wistron再度联手,Android和Chrome OS又成鱼肉
  3. Juniper大中国区于肇烈
  4. ZZULIOJ 1136: 首字母变大写
  5. 获取两个数据的交集_Redis学习笔记统计该如何选择数据类型
  6. 信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827
  7. 信息学奥赛一本通 2041:【例5.9】新矩阵
  8. OpenJudge NOI 1.1 10:超级玛丽游戏
  9. Running(POJ-3661)
  10. 三角形判断(信息学奥赛一本通-T1054)