宿迁Java培训哪家好|Java中为什么需要封装

发布时间:2019/7/14 17:14:27
  • 营业时间:08:00-24:00
  • 优惠信息:享受更多优惠,请说明来自“便民信息网”
  • 地 址:江苏省宿迁市宿城区宝龙广场24街8栋3楼303上元教育
  • 发布人:sy19805244953
  • 19805244953(联系人:吕老师)
    (电话归属地:|查看此电话发帖记录)
  • QQ:用户未填写 (联系我的时候请说是在便民信息网上看到的,谢谢。)
宿迁Java培训哪家好|Java中为什么需要封装

在java语言中有面向对象的三大特征:分别是封装,继承,多态,今天笔者给大家详细的介绍接java中封装的特性以及封装操作步骤等;
封装:面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。
例如:我们定义的方法,实际上也是一种封装,我们是把功能代码封装在了方法中,然后必须通过调用该方法来执行功能。那么java中为甚么要封装呢?假如我们现在定义一个People类。代码如下:
publicclassPeople{
//实例成员变量,属于对象的,无static修饰
//需要合理隐藏
publicStringname;
publicintage;
}
我们知道java中对象是可以直接访问这些实例成员变量的。那么就会出现以下情况:
publicclassTestPeople{
publicstaticvoidmain(String[]args){
//创建一个人对象
Peoplep=newPeople();
p.name="狗娃";
p.age=-100;//很显然这个数据注入是存在问题的,年龄不可能是负数,负数的话就死了呗
}
}
上面年龄age直接注入数据是不合理的,说明age不应该直接就被访问,应该把age封装起来,以便不能被直接访问。那么如何进行封装呢?
封装原则
封装是为了让代码的功能更加的安全,让细节被进一步的隐藏起来。原则上应该合理隐藏,合理暴露。
按照规范:我们需要将成员变量(属性)隐藏起来,若需要访问某个成员变量,暴露公共方法对其访问。
封装的步骤
使用private关键字来修饰成员变量。表示成员变量不能被直接访问。
使用public修饰方法,提供对应的一对用public修饰的getXxx方法、setXxx`方法来暴露成员变量的访问。
注意:public关键字是公开访问权限,private关键字是隐藏访问权限。
封装的操作
private修饰成员变量
private的含义
private是一个权限修饰符,代表最小权限,是私有的含义。
可以修饰成员变量和成员方法。
被private修饰后的成员变量和成员方法,只在本类中才能访问。
private的使用格式
private数据类型变量名;
使用private修饰成员变量,代码如下:
publicclassPeople{
privateStringname;//姓名
privateintage;//年龄
}
public修饰getter和setter方法
public的含义
public是一个权限修饰符,代表最大权限,是公开权限的含义。
可以修饰成员变量和成员方法。
被public修饰后的成员变量和成员方法,可以在任何类中访问。
使用public修饰成员方法,代码如下:
提供getXxx方法/setXxx方法(我们也称呼getXxx方法/setXxx`方法是getter和setter方法,写法是大驼峰),可以通过getter和setter方法来暴露成员变量的访问,然后可以在setAge方法中规律掉非法的年龄,代码如下:
publicclassPeople{
privateStringname;
privateintage;
privateStringaddr;

publicvoidsetName(Stringn){
name=n;
}

publicStringgetName(){
returnname;
}

publicStringgetAddr(){
returnaddr;
}

publicvoidsetAddr(Stringar){
addr=ar;
}

publicvoidsetAge(inta){
if(a>0&&a<200){
age=a;
}else{
System.out.println("年龄非法!");
}

}

publicintgetAge(){
returnage;
}
}
接下来我们通过代码进行测试
publicclassTestPeople{
publicstaticvoidmain(String[]args){
//创建一个人对象
Peoplep=newPeople();
//p.age=-100;//这里代码会出现编译错误,因为age被private修饰了,只能通过setAge访问修改
//p.setAge(-10);//提示年龄非法
p.setAge(19);
p.setName("徐干");
p.setAddr("广州")
System.out.pritnln(p.getAge());//输出年龄:19
System.out.pritnln(p.getName());//输出:徐干
System.out.pritnln(p.getAddr());//输出:广州
}
}
从上面代码可以看出:
成员变量age一旦私有以后,其他类就不能直接访问成员变量了,必须通过setAge来修改,通过getAge来访问。这样就实现了安全性,成员变量私有和提供配套的getter和setter方法已经成为Java设计的一种规范,笔者在这里建议大家都这样设计自己的代码。
学IT,来上元教育,上元教育欢迎您的咨询。
上课内容:
1、深度理解Java面向对象、分布式、健壮性、可移植性、多线程等特点;
深入学习Oracle、MySQL数据库,运用JDBC完成项目中Dao层CRUD实现;
Html5、CSS3前端技术结合jQuery脚本和bootstrap框架制作精美页面;
Struts2、Spring、Hibernate框架整合,Maven分模块构建,完成电商平台项目;
SpringMVC、Spring、MyBatis框架整合,WebService服务调用,SpringBoot微服务架构技术,完成企业级项目开发;
上课周期:5个月
优势点:大专及以上学历,28岁及以下,是我们认为合适的学习条件,名师24小时在线为学员解答疑惑,每个月项目实习答辩,就业指导课,模拟面试,校企合作红章文件,现场校招,这是我们提供的就业保障;
何关于相关专业的问题想要知道都可以联系我,上元教育欢迎您的咨询,一定知无不言,言无不尽!
咨询地址:江苏省宿迁市宿城区宝龙广场24街8栋3楼303上元教育
联系我的时候请说是在便民信息网上看到的,谢谢。

温馨提示: 宿迁Java培训哪家好|Java中为什么需要封装 -宿迁便民信息网信息由便民信息网会员发布,其真实性及合法性由发布人负责。
便民信息网仅引用以供用户参考,如需交易,谨防夸大事实、不实承诺、虚假宣传等诈骗行为,要求预付定金、汇款至个人银行帐户或网上交易等方式存在风险,谨防上当受骗!详情请阅读便民信息网免责条款。免责条款

相关图片