java系列6:封装
为什么使用封装?
java类的封装性就是不能让外面du的类随意修改一个类的成员变量
封装的方法:
- 方法的使用
- 关键字private
被private修饰的成员只能在本类中使用,其他的类中使用就得使用间接方法,使用getter,setter。
对属性进行安全性的封装
实现步骤
- 对属性进行私有化
- 对外提供公开的set/get方法
- 如果该属性需要安全性的判断 将这些代码写在set中
代码举例:
movie类:
package drchen.java.day06.demo03;public class Movie {/*这里主要探讨的就是封装封装主要有两种方式:1。方法就是一种封装2。关键字private问题描述:定义movie的年份时,无法阻止不合理的数值被设置进来。
解决方案:用private关键字将需要保护的成员变量进行修饰。一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出了本类范围之外就不能再直接访问了。间接访问private成员变量,就是定义一对儿Getter/Setter方法必须叫setXxx或者是getXxx命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于Setter来说,不能有返回值,参数类型和成员变量对应。*/String movieName;int year;String type;public int getYear() {return year;}public void setYear(int year) {this.year = year;}public void show(){System.out.println("这是一部" + year + "的" + type + "的电影,电影名称为:" + movieName + "。");}
}
movieGuide:
package drchen.java.day06.demo03;public class movieGuide {public static void main(String[] args) {Movie mv = new Movie();mv.movieName = "孤岛惊魂";mv.type = "惊悚片";mv.setYear(1998);mv.show();}}
java系列6:封装相关推荐
- 【java下午茶系列】java三重奏之封装
java中的封装.继承.多态可谓是踏入这一行业的必经之槛,诸多新人在不明就里的情况下将其各种概念背的是滚瓜烂熟.即便是工作多年之后,也不见得能说出个所以然,或许冥冥之中已经写过无数封装的代码,只是近在 ...
- java如何实现封装_java如何实现封装
Java中类的封装是如何实现的封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法. java封装类通过三个步骤实现: (1)修改属性的可见性,限制访问. (2)设置属性的读取方 ...
- 教老婆学java系列之奇妙的数据结构四
教老婆学java系列之奇妙的数据结构四 数据结构最后一节 思考题:后台处理一件事,耗时较长,怎么将信息显示在页面上 问题解析: 1.前端触发,后端处理时间较长,前端不能等处理完成. 2.如果不等处理完 ...
- Java系列技术之Hibernate5操作数据库-钟洪发-专题视频课程
Java系列技术之Hibernate5操作数据库-35人已学习 课程介绍 Hibernate是一个轻量级的JDBC封装,也就是说,我们可以使用Hibernate来完成原来我们使用JDB ...
- 《重学Java系列》之 反射(上)
不诗意的女程序媛不是好厨师~ 转载请注明出处,From李诗雨-https://blog.csdn.net/cjm2484836553/article/details/103350829] <重学 ...
- 我爱Java系列---【 maven依赖版本冲突的解决方法】
我爱Java系列---[ maven依赖版本冲突的解决方法] 参考文章: (1)我爱Java系列---[ maven依赖版本冲突的解决方法] (2)https://www.cnblogs.com/hu ...
- Java系列笔记(1) - Java 类加载与初始化
2019独角兽企业重金招聘Python工程师标准>>> 目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如 ...
- java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法
在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...
- 跟老杨学java系列(一)前传
跟老杨学java系列(一)前传 首先声明一下哈,本人文笔水平有限,不喜勿喷.欢迎大家留言探讨技术问题.其他问题概不回复. 上台来首先做个自我介绍(~~偷师相声开场白),本人从事IT开发行业快二十个年头 ...
最新文章
- 推荐7款实用强大的神器工具,建议你先收藏,总有一天你会用到!
- 日益谨慎的谷歌AI,会在自我限制中越走越慢吗?
- 大型Java多用户商城系统设计开发的心得和困难
- 什么是ERP (转载自百度知道)
- 【音视频安卓开发 (八)】OpenSLES播放音频步骤和接口讲解
- SQLServer2008内存飙升 解决
- 第四次学习记录(ROS)
- 超详细简单解决git的上传和下载
- 【机器学习-西瓜书】六、支持向量机:核技巧;软间隔;惩罚因子C;松弛变量
- 广西电力职业技术学院计算机应用,广西电力职业技术学院电子与信息工程系
- 传输线理论 1/4波长阻抗变换器的分析匹配
- java标书_java软件项目投标技术标书【精选】.doc
- 全新型App开放框架—Clouda
- oracle 倒库详细步骤,新手倒车入库怎么操作 图文并茂详细讲解操作技巧
- paypal付款,PayPal Subscribe和PayPal Check Out的区别
- npm install 连接不上github解决办法
- [华为 HCNA ] VLAN的介绍和划分
- ssm校园社团平台毕业设计源码251554
- 前端开发实习面试题(JavaScript篇)
- Android高级进阶——绘图篇(五)setXfermode 设置混合模式
热门文章
- boost学习之BOOST_PP_SEQ_FOR_EACH_R
- win32开发(窗口类和窗口)
- linux下的C语言开发(gdb调试)
- mysql raiserror_SQL Server自定义异常的使用raiserror
- 荣耀x10max能不能升级为鸿蒙,荣耀X10 Max即将亮相:容量很“放肆” 身材却很“克制”...
- php遍历多维数据库,PHP代码优化之array_column() 使用(解决循环嵌套Sql的问题)
- GET请求与POST请求的区别
- java中else语句有错_java 菜鸟 If else有错误
- ubuntu 文件及子文件夹的权限的查看及修改
- ArcGis api配合vue开发入门系列(二)距离以及面积的测量