简言:封装是一个非常广泛的概念,小到对一个属性,一个变量的封装,大到一个项目,一个框架的封装。但是我们还需要学习Java中的三个基本特性就是封装,继承,多态,我们可以看到封装就是Java中的三大特性之一,这个特性是我们必须要重点掌握的。

比如:我们的电脑机盒就是一个十分简单的封装。

public class Ecap1 {public int age;public String name;public double height;

}

这里写了一个类,这类里面有age,name,height属性,再继续观察下面的实现类。

public class test {public static void main(String[] args) {Ecap1 ecap1 = new Ecap1();ecap1.age = -10;ecap1.height = -1.88;ecap1.name = "浩林";System.out.println("age:"+ecap1.age);System.out.println("name:"+ecap1.name);System.out.println("height:"+ecap1.height);}
}

我们可以看见我们age和height赋值的时候,age和height是不可能是负数的,这里我们就提出来封装的概念。

解决方法

package cv.mbzreview.encapsulation;public class Ecap1 {private int age;private String name;private double height;public int getAge() {return age;}public void setAge(int age) {if(age<0){System.out.println("输入的age的格式错误,请重新输入:");this.age = age;}else {this.age = age;}}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getHeight() {return height;}public void setHeight(double height) {if(height<1.70){System.out.println("您的年龄不符合要求,谢谢!");this.height = height;}else {this.height = height;}}
}

这里我们用到了settter,getter访问器,我们可以给属性值做一定的封装如上面代码所示。

同时我们把属性值改为了private访问修饰符。这里的访问修饰符只能被本类使用。

我们可以看见我们的实现类里面是不能调用private的访问属性的,所以这里的setter和getter访问器就起到非常大的作用。

我们对属性的封装在这里就起到了他的关键作用。

封装的概念---(Java版)相关推荐

  1. 抽象类、抽象方法、封装的概念、接口的含义(Java 从自学到就业 第12天)

    Java 学习记录 第十二天 由于本渣渣是前端转行Java,所以编辑器的选择就直接用 webstorm 同公司的 idea 接下来的知识梳理有一部分会借鉴大佬 廖雪峰的博客 学习目标 结合抽象类对多态 ...

  2. 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)

    常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...

  3. Java:封装的概念,UML类图,构造方法,this关键字,static关键字,方法重载,包package

                     oop三大特性:封装,继承,多态 oop一般指面向对象程序设计(一种计算机编程架构) 一.封装的概念:    将东西包在一起,然后以新的完整形式呈现出来       ...

  4. JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)

    运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...

  5. java 封装的概念_java封装的概念

    继承.封装.多态.抽象是面向对象编程的四大基本概念,其中封装尤为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装. 在面向对象中封装是指 ...

  6. 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装...

    微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者 ...

  7. Wind(万得)原生TDBAPI(JAVA版)封装成 WEB API (Demo版)

    ##1. 引言## 目前项目使用了开源的vnpy框架来做量化交易(python版), 但是公司采购的wind历史数据TDBAPI没有python版(只有C++版,JAVA版,C#版,matlab版). ...

  8. 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  9. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析【转】

    Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析 QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:http ...

最新文章

  1. LDO和DC-DC的区别
  2. EOS 共识机制 (3)DPOS+BFT
  3. 含类定义的完整python程序_Python——变量,运算,条件,循环
  4. 矢量合成和分解的法则_重点解析丨抛体运动 之 运动的合成与分解
  5. Ajax — 第一天
  6. java空类型方法无参_类的无参方法
  7. 怎么更改wifi频段_wifi信号差?网速慢?这样做不浪费每一兆宽带
  8. linux2.4.18内核定时器的使用
  9. MAC下ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  10. WPS office根目录在哪?_WPS加载项深入开发代码解析-2
  11. 计算机软件进费用什么科目,购买软件费用如何记账?
  12. 日语---之百度百科
  13. VC编程——QQ连连看外挂
  14. dns服务器修改失败,dns错误重新设置方法
  15. Go整合Logrus实现日志打印
  16. 英特尔芯片漏洞比想象中更严重:控制计算机无需密码
  17. 【Java工程中出现问题】XXX has been compiled by a more recent version of the Java Runtime
  18. Flutte 之TextFile(文本输入框)
  19. JavaScript实现阿拉伯数字转中文数字
  20. pat L1-057 PTA 使我精神焕发

热门文章

  1. --spring.profiles.active=prod 无效问题
  2. Bitbucket使用详解
  3. ABAQUS 工程仿真分析视频教程
  4. 计算机硬盘ssd,如何查看电脑硬盘接口_如何查看电脑固态硬盘接口-win7之家
  5. jva基础知识总结(二)多线程实现
  6. 利用JVM在线调试工具排查线上问题(超实用)
  7. 智能家居系统的设计与实现
  8. PyTorch图神经网络实践(七)社区检测
  9. python读awx文件_Ansible AWX 安装使用简明文档
  10. 西南大学网络计算机,西南大学计算机与信息科学学院就业信息网