Java面向对象基础之封装性

封装是面向对象编程的三大特性之一,它通过权限修饰符如private、public和protected实现。抽象数据类型将数据和操作封装,保护内部细节,仅提供对外接口。例如,使用private修饰属性并提供公有的get和set方法来控制访问,以及在单例模式中使用private构造器防止外部实例化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念

利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。用户无需知道对象内部的细节,但可以通过对象对外提供的接口来访问该对象。

如何实现

封装性主要通过权限修饰符来实现。

java规定了4种权限修饰符,分别是缺省、private、public、protected,四种修饰符的权限如下:

  • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

  • public : 对所有类可见。使用对象:类、接口、变量、方法

  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

如下表所示:

image-20230320001333650
使用场景
  1. 私有化(private)类的属性,提供公共(public)的get和set方法,对此属性进行获取和修改
  2. 将类种不需要对外暴露的方法,设置为private
  3. 单例模式中构造器private的了,避免在类的外部创建实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值