Java——类成员的访问权限修饰符(private、protected、public、default)
本文转载自: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)相关推荐
- Java中4种访问权限修饰符
在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性. 一.public (1)定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到. ...
- Java语法封装之继承、访问权限修饰符、重载与重写、this与super、final、Javabean的使用
3.3封装 封装 : 隐藏内部的实现细节,对外提供公共的访问方式.方法,类,属性的私有化- 都是封装的体现 封装优点 : 提高程序的安全性 提高代码的复用性 私有是封装,但是封装不是私有 3.3.1 ...
- Java-P: 2_3,类成员具有的控制修饰符
--======================================================== --ylb: 程序设计 --author:ylbtech --编程语言:Java ...
- Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围...
1.Java有三种访问权限修饰符,分别为public.protected.private,还有一种为缺省权限修饰符的情况,记为default.其中,可以由public和default来修饰类:这四种修 ...
- 学习Java的第五天 | 定义方法 | 引用数据类型——类 | 访问权限-修饰符 | 全局变量与局部变量 | toString | 构造方法 | 方法重载
前面提到的,冒泡排序,二分查找,我们有时候写代码可能不止要查到一种数组的数据,这时候我们就很需要想循环那样的结构,来帮我们解决代码冗余的情况. 我们前面使用的main方法,是一个java程序的入口,我 ...
- Java访问权限修饰符
1.Class类的访问权限: public:可以供所有的类访问. 默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++.默认的访问权 ...
- Java访问权限修饰符详解
Java中的访问权限修饰符(Java关键字) 今天很皮的发现,自己现在竟然不会玩儿Java基础了,就翻看了一下自己的笔记,写一篇文章复习一下! 测试环境:Java运行环境,myEclipse. 测试前 ...
- 绝密101:import,java,packag的顺序、权限修饰符、类及其组成可用的修饰符
import,java,packag他们三个直接有没有顺序呢? packag:到达的路径,所在文件的路径,他最终以包的形式结束(他在最前面) import:导入外界你想要使用的类,它最终以你想要结束的 ...
- 学习大数据的第13天——Java面向对象(接口、分析参数返回值的类型不同时如何解决、包以及访问权限修饰符(public、protected、默认、private))
学习大数据的第13天--Java面向对象(接口.分析参数返回值的类型不同时如何解决.包以及访问权限修饰符(public.protected.默认.private)) 接口 接口的基本定义: 1.1.语 ...
最新文章
- shell的数字、字符串处理
- Tensorflow【实战Google深度学习框架】TFLearn大宝剑
- 模糊数学笔记:四、模糊矩阵与模糊关系
- Java程序片:Java复制文件
- JVM堆老年代分配比例
- 前端学习(2916):事件绑定
- android怎么截取接口返回html代码中的内容_某神秘公司 RESTful、共用接口、前后端分离、接口约定的实践...
- 机器学习 深度学习 ai_什么是AI? 从机器学习到决策自动化
- oracle ash dump 导出,Oracle 导出 ASH的dump信息
- 基于Struts的网上书店设计毕业论文(含源文件)
- 怎么把多个pdf文件合并成一个pdf?
- c语言五子棋最简单的ai,C++简单五子棋的AI设计实现
- 通过命令行操作iOS模拟器
- pygame中blit()的参数的说明以及脏矩形动画形成的简要说明
- Windos系统使用webdav协议将阿里云盘挂载在本地,并实现Notability等支持webdav协议软件的自动备份
- 开箱测评丨VEAZEN VZ200民谣吉他
- linux切换用户时释放资源,linux 切换用户报Resource temporarily unavailable
- Anaconda navigator打不开,一直卡在loading application
- VS2008,C++,镜子反射 光线反射游戏
- 2021-2027全球及中国翻译软件行业研究及十四五规划分析报告
热门文章
- 脚本方式添加全文索引
- 1.1 线性模型基础
- 树莓派系统的安装、初步配置与远程访问
- 数字化方法基础(三)_导入本地模型
- java attributes用法_C#中的Attributes的用法
- python实习生面试题_【实习】暑期实习之python笔试题(一)
- ubuntu update和install失败,一种可以能的解决方法
- android开机图片格式,Android平台启动图使用.9.png图片
- 降采样_嫦娥五号,欢迎回家!我国首次地外天体采样返回任务圆满完成
- android create命令,phonegap运行android – create命令失败,退出代码8 – linux