封装

这一节来看下面向对象三大特征之一的封装。

什么是封装?

封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

封装的优点:

隐藏代码的实现细节,提高安全性。
举个例子,我们日常生活中的插座,如果没有封装外壳直接使用零线火线的话会比较危险,加上外壳封装之后使用起来既方便又安全

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关键字相关推荐

  1. 局部变量和成员变量;Java的封装性;private关键字和this关键字

    局部变量和成员变量的区别: 定义的位置不一样[重点] 局部变量在方法内: 成员变量在方法外,类以内: 作用范围不一样[重点] 成员变量在整个类都可以用 默认值不一样[重点] 成员变量在没有赋值的情况下 ...

  2. 赵桐正 php,php面向对象-封装性

    一.封装性(使用private关键字修饰就实现了对成员的封装) 1.设置封装 例3-1: class Person{ private $name; //设置私有成员 function say(){ e ...

  3. 面向对象、封装、private关键字、set和get方法、this关键字、构造方法、API

    文章目录 1. 类和对象 1.1 面向对象和面向过程编程思想 面向过程编程思想 面向对象编程思想 举例对比2种编程思想 1.2 类的概述 类的概述 类的组成 举例 小结 1.3 对象的概述 对象的概念 ...

  4. Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06

    目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...

  5. JAVA-------封装+Private关键字+权限修饰符+This关键字

    封装 封装就是隐藏对象的属性和实现细节,仅对外提供公共的访问方式 为什么要封装: ​ 提高代码的安全性 ​ 提高代码的维护性 ​ 隐藏代码细节,只提供公共的访问方式 如何实现封装: ​ 利用Priva ...

  6. Java学习 第十五章 成员变量和局部变量的区别 / 三大特征之一 (封装性)/构造方法 /private关键字

    第十五章 局部变量和成员变量: 1.定义位置不一样 局部变量:在方法内部定义 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样 局部变量:只能在方法当中使用 成员变量:整个类都可以使用 3. ...

  7. 面向对象(封装对象private关键字)

    1.面向对象(封装的概述) A:封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. B:封装好处 隐藏实现细节,提供公共的访问方式 提高了代码的复用性 提高安全性. C:封装原则 将不需 ...

  8. 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字

    成员变量和局部变量 在介绍类的时候,已经说到了类的成员变量 成员变量是在类中而在方法之外 class ss{ int age; } 局部变量是在方法定义中或者方法声明中 class ss{ publi ...

  9. 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)

    1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...

最新文章

  1. Android layout_gravity
  2. 家用计算机注意哪些参数,电脑小白买内存条要注意哪些?主要看哪些参数?这些知识要掌握...
  3. HDOJ-2036 求多边形面积
  4. 向前的快捷键_平面设计基础知识:平面设计师应该知道的快捷键。
  5. java加载机制_详解Java类加载机制
  6. Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
  7. 升45武器并不一定大黑铁 自然+13的飞魂 (传奇3G)
  8. Atitit 概念还是技术更重要
  9. webots使用以及第三方模型导入装配、运动学仿真教程
  10. Unity在运行时使用FBX SDK的API
  11. LTE语音解决方案与优化
  12. 微信小程序小Demo
  13. 翻转课堂十大精彩案例
  14. 珍视友情、珍爱生命、珍重和平—读余秋雨散文作品感悟
  15. 对区块链技术的一些新思考
  16. 电脑硬盘右击计算机就卡死,电脑右键就卡死是什么原因?
  17. 计算机中的英语六级作文万能模板,英语六级作文的通用万能模板
  18. 华为ensp NAT技术地址转换
  19. 任天堂正式发布 NINTENDO SWITCH OLED,乐得瑞任天堂Switch底座方案
  20. 闭包实现迭代器功能-- 每用一次函数,返回数组下一个值。 我们需要面对更为复杂的数据结构,他们通常会有这与数组截然不同的序列规则...

热门文章

  1. python ERROR: Could not find a version that satisfies the requirement requests (from versions: none)
  2. 使用adb从手机拉取apk包
  3. 项目管理-挣值分析方法学习总结
  4. ReviewBoard 的安装和使用(二)—— 邮箱的配置
  5. 获取浏览器窗口高度和宽度兼容IE
  6. 2021级cpp上机练习题第16次(综合练习)
  7. HTML边框圆角椭圆原理,CSS3教程:border-radius你以为就是个圆角边框吗?
  8. pandas读取txt文件第一行列名困扰我许久的'点'
  9. go (golang) DNS域名解析实现
  10. mysql经典45道题_MySQL查询 45道练习题