5 封装性和private关键字
封装
这一节来看下面向对象三大特征之一的封装。
什么是封装?
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装的优点:
隐藏代码的实现细节,提高安全性。
举个例子,我们日常生活中的插座,如果没有封装外壳直接使用零线火线的话会比较危险,加上外壳封装之后使用起来既方便又安全
private关键字
看看下面代码中所描述的问题。
class Person {String name;//姓名int age;//年龄}
上面定义了一个Person类,下面写一个PersonTest01类对其进行测试
public class PersonTest01{public static void main(String[] args){//1.创建Person类型的对象Person p = new Person();System.out.println(p.age); //0p.age = -10;//这个地方的数据不合理}
}
上面的PersonTest01中人的年龄出现了-10,这显然是一个不合法的数据,所以应该将Person类中的age隐藏起来,不能让外界直接访问,需要使用private修饰符将age进行封装。
class Person {private String name;private int age;/*添加private修饰之后,外界无法直接访问age了。这时需要提供两个方法供外界访问即set方法和get方法。*///对外提供两个公开的方法。//set 赋值public void setAge(int _age){//安全控制if(_age<0 || _age>120){System.out.println("年龄不合法");return;}age = _age;}//get 读取public int getAge(){ return age;}public void setName(String _name){name = _name;}public String getName(){return name;}
}
创建测试类
public class PersonTest02{public static void main(String[] args){//1.创建Person类型的对象Person p = new Person();p.setName("郝仁");p.setAge(20);System.out.println(p.getName());System.out.println(p.getAge());}
}
private使用总结:
1 将成员变量用private修饰
2 提供对应的getXxx()和setXxx()方法
3 private仅仅是封装的一种体现形式,封装不是私有
5 封装性和private关键字相关推荐
- 局部变量和成员变量;Java的封装性;private关键字和this关键字
局部变量和成员变量的区别: 定义的位置不一样[重点] 局部变量在方法内: 成员变量在方法外,类以内: 作用范围不一样[重点] 成员变量在整个类都可以用 默认值不一样[重点] 成员变量在没有赋值的情况下 ...
- 赵桐正 php,php面向对象-封装性
一.封装性(使用private关键字修饰就实现了对成员的封装) 1.设置封装 例3-1: class Person{ private $name; //设置私有成员 function say(){ e ...
- 面向对象、封装、private关键字、set和get方法、this关键字、构造方法、API
文章目录 1. 类和对象 1.1 面向对象和面向过程编程思想 面向过程编程思想 面向对象编程思想 举例对比2种编程思想 1.2 类的概述 类的概述 类的组成 举例 小结 1.3 对象的概述 对象的概念 ...
- Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06
目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...
- JAVA-------封装+Private关键字+权限修饰符+This关键字
封装 封装就是隐藏对象的属性和实现细节,仅对外提供公共的访问方式 为什么要封装: 提高代码的安全性 提高代码的维护性 隐藏代码细节,只提供公共的访问方式 如何实现封装: 利用Priva ...
- Java学习 第十五章 成员变量和局部变量的区别 / 三大特征之一 (封装性)/构造方法 /private关键字
第十五章 局部变量和成员变量: 1.定义位置不一样 局部变量:在方法内部定义 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样 局部变量:只能在方法当中使用 成员变量:整个类都可以使用 3. ...
- 面向对象(封装对象private关键字)
1.面向对象(封装的概述) A:封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. B:封装好处 隐藏实现细节,提供公共的访问方式 提高了代码的复用性 提高安全性. C:封装原则 将不需 ...
- 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字
成员变量和局部变量 在介绍类的时候,已经说到了类的成员变量 成员变量是在类中而在方法之外 class ss{ int age; } 局部变量是在方法定义中或者方法声明中 class ss{ publi ...
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...
最新文章
- Android layout_gravity
- 家用计算机注意哪些参数,电脑小白买内存条要注意哪些?主要看哪些参数?这些知识要掌握...
- HDOJ-2036 求多边形面积
- 向前的快捷键_平面设计基础知识:平面设计师应该知道的快捷键。
- java加载机制_详解Java类加载机制
- Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
- 升45武器并不一定大黑铁 自然+13的飞魂 (传奇3G)
- Atitit 概念还是技术更重要
- webots使用以及第三方模型导入装配、运动学仿真教程
- Unity在运行时使用FBX SDK的API
- LTE语音解决方案与优化
- 微信小程序小Demo
- 翻转课堂十大精彩案例
- 珍视友情、珍爱生命、珍重和平—读余秋雨散文作品感悟
- 对区块链技术的一些新思考
- 电脑硬盘右击计算机就卡死,电脑右键就卡死是什么原因?
- 计算机中的英语六级作文万能模板,英语六级作文的通用万能模板
- 华为ensp NAT技术地址转换
- 任天堂正式发布 NINTENDO SWITCH OLED,乐得瑞任天堂Switch底座方案
- 闭包实现迭代器功能-- 每用一次函数,返回数组下一个值。 我们需要面对更为复杂的数据结构,他们通常会有这与数组截然不同的序列规则...
热门文章
- python ERROR: Could not find a version that satisfies the requirement requests (from versions: none)
- 使用adb从手机拉取apk包
- 项目管理-挣值分析方法学习总结
- ReviewBoard 的安装和使用(二)—— 邮箱的配置
- 获取浏览器窗口高度和宽度兼容IE
- 2021级cpp上机练习题第16次(综合练习)
- HTML边框圆角椭圆原理,CSS3教程:border-radius你以为就是个圆角边框吗?
- pandas读取txt文件第一行列名困扰我许久的'点'
- go (golang) DNS域名解析实现
- mysql经典45道题_MySQL查询 45道练习题