重捡Java(十)类与对象 成员变量有四种修饰符

2020-05-10  本文已影响0人  我很惊讶

这个东西,在初级程序员面试笔试的时候经常出现,在实际使用用可以控制一部分权限

类之间的关系

以Hero为例
自身:指的是Hero自己
同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
其他类:Item这个类,在不同包,也没有继承关系的类
(包可以理解为文件夹)


目录结构

注:以下图例, 红色字体,表示不可行,绿色表示可行

private 私有的

自身:是可以访问的
同包子类:不能继承
不同包子类:不能继承
同包类:不能访问
其他包类:不能访问

private int a;
private的访问权限

权限仅自身

package/friendly/default 不写

没有修饰符即代表package/friendly/default

int a
默认

可以看到权限在本文件夹下

protected 受保护的

protected  int a;
protected

权限为相关类

public 公共的

全都能用

使用原则

那么什么情况该用什么修饰符呢?
从作用域来看,public能够使用所有的情况。 但是大家在工作的时候,又不会真正全部都使用public,那么到底什么情况该用什么修饰符呢?

  1. 属性通常使用private封装起来
  2. 方法一般使用public用于被调用
  3. 会被子类继承的方法,通常使用protected
  4. package用的不多,一般新手会用package,因为还不知道有修饰符这个东西

再就是作用范围最小原则
简单说,能用private就用private,不行就放大一级,用package,再不行就用protected,最后用public。 这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来了

原文来源:https://how2j.cn

上一篇 下一篇

猜你喜欢

热点阅读