Java面向对象 ,封装的概念

封装(Encapsulation)是面向对象的三大特征之一(另外两个是继承和多态),它指的是将对象的属性信息隐藏在对象内部,不允许外部程序直接访问对象内部属性信息,而是通过该类所提供的方法来实现对内部属性信息的操作和修改。封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。就如刚刚说的 Student 对象的 age 变量,只能随着岁月的流逝,age 才会增加,通常不能随意修改 Student 对象的 age。对一个类或对象实现良好的封装,可以实现以下目的。

 

隐藏类的实现细节,让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问,提高对内部属性信息的安全性。

 

可进行数据检查,从而有利于保证对象信息的完整性。

 

便于修改,提高代码的可维护性。

 

为了实现良好的封装,需要从两个方面考虑

 

将对象的成员变量和实现细节隐藏起来,不允许外部直接访问。

 

把方法暴露出来,让方法来控制对这些成员变量进行安全的访问和操作。

 

访问权限修饰符

除此之外,封装其实就是给程序中的属性信息,行为动作等加上不同的访问权限修饰符,以便控制程序的安全性。而且封装思想的核心就是给程序中不同的内容添加上不同级别的访问权限修饰符,Java中提供了三种访问权限修饰符和四种访问权限级别,它们的访问权限级别由小到大依次是:

 

private(当前类访问权限)

 

缺省(包访问权限)

 

protected(子类访问权限)

 

public(公共访问权限)

 

封装的步骤

使用 private 关键字来修饰实例变量。

 

对需要访问的实例变量,提供对应的一对 getXxx 方法、setXxx 方法。

 

private关键字

private的特点

private是一个访问权限修饰符,代表最小权限。

 

可以修饰实例变量和实例方法。

 

被private修饰后的变量和方法,只在本类中才能访问。

 

private的特点

private是一个访问权限修饰符,代表最小权限。

 

可以修饰实例变量和实例方法。

 

被private修饰后的变量和方法,只在本类中才能访问。

 

①是一个权限修饰符

 

②可以修饰成员(成员变量和成员方法)

 

③作用是保护乘员不被别的类使用,被private修饰的成员只在本类中才能访问

也就是一个成员变量被private修饰了,在外界是无法直接访问的,而在本类中是可以直接访问的)

 

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作:

 

提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰

提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值