Java 封装性

一 封装性

何为封装?在程序设计中,封装代表着的隐藏内部细节,只暴露出 必要 的信息给类的调用者,这样极大方便了调用者的使用,就比如遥控器,我们不需要知道遥控器内部的功能到底是如何实现的,指需要知道干什么操作要按那些按钮。在 Java 中我们通常将属性等信息隐藏起来,让类的调用者可以不用了解具体实现的细节来使用该类。

二 访问限定符

Java 中提供了四种访问限定符。

修饰类(类、接口):public、private、无(default)
public:公共的。在任何位置都能访问到这个类。
private:私有类,可作为内部类被所属的类访问,其他类无法访问。
default:只能被同一包下的类访问。


修饰属性和方法:public、protected、无(default)、private
public:任何位置都能访问,类或者该类的对象之间访问
protected:同一包中的类可以访问,子类中可以访问;若这些该类的对象在其他类(非同包类或子类)中,则该对象不能访问其protected属性和方法
defalut:不写修饰符时,是默认值。默认为在同一个包内可以访问,包外不能访问。
private:只有当前类可以访问

当在没有权限的位置访问将会直接报错。

三 什么时候用那种限定符?

我们希望类要尽量做到 "封装",即隐藏内部实现细节,只暴露出 必要 的信息给类的调用者。

因此我们在使用的时候应该尽可能的使用 比较严格 的访问权限。例如如果一个方法能用 private ,就尽量不要用 public 。

另外,还有一种 简单粗暴 的做法:将所有的字段设为 private,将所有的方法设为 public 。不过这种方式属于是对访问权限的滥用,还是更希望同学们能写代码的时候认真思考, 该类提供的字段方法到底给"谁" 使用(是类内部自己用,还是类的调用者使用,还是子类使用)。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值