本文转载自:https://blog.csdn.net/qq_41420688/article/details/83348546

1. 作用

封装将数据和操作连接起来。封装的一个重要属性:访问控制。
通过封装可以控制程序的某个部分所能访问类的成员,防止对象滥用。从而保护对象中数据的完整性。
在Java中类的每个成员(数据成员和成员方法)都有一个成为可访问性的属性,用来保护类成员。

2. Java中四种成员保护方式

Java中有四类成员的保护方式:private(私有的)、protected(保护的)、public(共有的)default(包访问权限)。

2.1 private 实现封装(私有的)

最严格的权限,只能被这个类本身访问,其他情况如同一包内的类、子类等都无法访问。

  • 将属性,方法用private封装后表示,被封装的属性与方法只能在本类中使用,类外部不可见。 此时要想访问被封装的属性,必须提供getter与setter方法。不能用于外部类(最顶层的类),可以用于内部类的嵌套。
  • getter方法:主要进行属性内容的取得。public void setName(string n)对name的set方法。
  • setter方法:主要进行属性内容的设置与修改。
  • 类的设计原则:编写类的时候,没有额外说明,所有属性必须使用private封装(成员变量)。

2.2 protected(保护的)

同一包内的类以及其子类可以访问。
这里需要说明,包内的类(其他类和子类);子类(包内的和包外的),所以同一包内的类和子类其实是有交集的——包内的子类。

2.3 public(公共的)

最不严格的权限,任何类都可以访问该成员。

2.4 default(缺省的)

类中不加任何访问权限限定的成员属于缺省的访问状态。
可以被这个类本身以及同一个包中的类访问。
包内的类包括其子类,但是包外的类一律无法访问。

2.5 访问权限修饰符总结表:

修饰符 同一个类 同一个包 子类 所有类
public 允许访问 允许访问 允许访问 允许访问
protected 允许访问 允许访问 允许访问
default 允许访问 允许访问
private 允许访问

Java——类成员的访问权限修饰符(private、protected、public、default)相关推荐

  1. Java中4种访问权限修饰符

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

  2. Java语法封装之继承、访问权限修饰符、重载与重写、this与super、final、Javabean的使用

    3.3封装 封装 : 隐藏内部的实现细节,对外提供公共的访问方式.方法,类,属性的私有化- 都是封装的体现 封装优点 : 提高程序的安全性 提高代码的复用性 私有是封装,但是封装不是私有 3.3.1 ...

  3. Java-P: 2_3,类成员具有的控制修饰符

    --======================================================== --ylb: 程序设计 --author:ylbtech --编程语言:Java ...

  4. Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围...

    1.Java有三种访问权限修饰符,分别为public.protected.private,还有一种为缺省权限修饰符的情况,记为default.其中,可以由public和default来修饰类:这四种修 ...

  5. 学习Java的第五天 | 定义方法 | 引用数据类型——类 | 访问权限-修饰符 | 全局变量与局部变量 | toString | 构造方法 | 方法重载

    前面提到的,冒泡排序,二分查找,我们有时候写代码可能不止要查到一种数组的数据,这时候我们就很需要想循环那样的结构,来帮我们解决代码冗余的情况. 我们前面使用的main方法,是一个java程序的入口,我 ...

  6. Java访问权限修饰符

    1.Class类的访问权限:  public:可以供所有的类访问.  默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++.默认的访问权 ...

  7. Java访问权限修饰符详解

    Java中的访问权限修饰符(Java关键字) 今天很皮的发现,自己现在竟然不会玩儿Java基础了,就翻看了一下自己的笔记,写一篇文章复习一下! 测试环境:Java运行环境,myEclipse. 测试前 ...

  8. 绝密101:import,java,packag的顺序、权限修饰符、类及其组成可用的修饰符

    import,java,packag他们三个直接有没有顺序呢? packag:到达的路径,所在文件的路径,他最终以包的形式结束(他在最前面) import:导入外界你想要使用的类,它最终以你想要结束的 ...

  9. 学习大数据的第13天——Java面向对象(接口、分析参数返回值的类型不同时如何解决、包以及访问权限修饰符(public、protected、默认、private))

    学习大数据的第13天--Java面向对象(接口.分析参数返回值的类型不同时如何解决.包以及访问权限修饰符(public.protected.默认.private)) 接口 接口的基本定义: 1.1.语 ...

最新文章

  1. shell的数字、字符串处理
  2. Tensorflow【实战Google深度学习框架】TFLearn大宝剑
  3. 模糊数学笔记:四、模糊矩阵与模糊关系
  4. Java程序片:Java复制文件
  5. JVM堆老年代分配比例
  6. 前端学习(2916):事件绑定
  7. android怎么截取接口返回html代码中的内容_某神秘公司 RESTful、共用接口、前后端分离、接口约定的实践...
  8. 机器学习 深度学习 ai_什么是AI? 从机器学习到决策自动化
  9. oracle ash dump 导出,Oracle 导出 ASH的dump信息
  10. 基于Struts的网上书店设计毕业论文(含源文件)
  11. 怎么把多个pdf文件合并成一个pdf?
  12. c语言五子棋最简单的ai,C++简单五子棋的AI设计实现
  13. 通过命令行操作iOS模拟器
  14. pygame中blit()的参数的说明以及脏矩形动画形成的简要说明
  15. Windos系统使用webdav协议将阿里云盘挂载在本地,并实现Notability等支持webdav协议软件的自动备份
  16. 开箱测评丨VEAZEN VZ200民谣吉他
  17. linux切换用户时释放资源,linux 切换用户报Resource temporarily unavailable
  18. Anaconda navigator打不开,一直卡在loading application
  19. VS2008,C++,镜子反射 光线反射游戏
  20. 2021-2027全球及中国翻译软件行业研究及十四五规划分析报告

热门文章

  1. 脚本方式添加全文索引
  2. 1.1 线性模型基础
  3. 树莓派系统的安装、初步配置与远程访问
  4. 数字化方法基础(三)_导入本地模型
  5. java attributes用法_C#中的Attributes的用法
  6. python实习生面试题_【实习】暑期实习之python笔试题(一)
  7. ubuntu update和install失败,一种可以能的解决方法
  8. android开机图片格式,Android平台启动图使用.9.png图片
  9. 降采样_嫦娥五号,欢迎回家!我国首次地外天体采样返回任务圆满完成
  10. android create命令,phonegap运行android – create命令失败,退出代码8 – linux