三个修饰符 四个访问权限

Java中4种访问修饰符

private:私有的 只能被该类的对象访问 不能被子类访问

protected:介于private与public中间 被protected修饰的属性只能被类本身的方法和子类访问,子类也能访问子类跨包也可访问

default:默认的 只支持在一个包中访问

public对任何类都ok开放
private对当前类都可以访问封闭
protected当前包下.其他包不行(除非子类)
package当前包下
修饰符类内部同一个包子类任何地方
privateYES
default(什么也不写)YESYES
protectedYESYESYES
publicYESYESYESYES

Java中的访问修饰符用来控制类,静态变量,静态方法,成员变量,成员方法的访问权限。

为了方便描述,后面简称为变量和方法

在java中有三个访问修饰符,四种访问权限

public  class  User{
    private  long   id;
    public  long  getId(){
        return  id;
    }
    public void  setId(long  id){
        this.id=id;
    }
}

先说最容易理解

也是用的最多的两种权限 public和private

public是最大权限 代表可以被任意访问

private是最小权限 代表只能由类自己访问

我们经常将成员变量 设置为private 然后选择性地提供public方法 以供外部访问成员变量

public  class  Father{
    protected int  num=1;
    protected  int  cal(){
        return  num<<1;
    }
}
class  Son  extends  Father{
    public  son(){
        num=cal();
    }
}

再来说一下protected权限 被protected修饰符修饰的成员变量和方法表示对相同包和其子类可见

protected多用于父类 定义好方法模板 供子类去实现自己的逻辑 设计模式中的模板方法 就可以通过protected实现

public  class  User{
  long  id;
  void  f(){}
}

最后我们说一下默认权限

默认权限没有对应的权限修饰符

当变量或方法没有被权限修饰符修饰时 ,就属于默认权限

默认权限表示对相同包内可见

默认权限用得比较少

我们在声明变量和方法时,一般都会指定具体的修饰符,这里要注意接口中的方法 只能使用public权限 除了public外 不能加其他权限修饰符

public  interface  Interface{
 //public  可省略
 public  void  f1();
 //public  权限
 void  f2();
}

由于只能加public 所以接口中的方法 可以省去权限修饰符 但省去了之后 依然是public权限 而不是默认权限

public  class  A{}
class   B{}

刚才我们说的都是变量和方法 再来说一下类 对于类来说只可以使用 public权限和默认权限 也就是只能选择

加public和不加public 一个Java文件中,只能有一个public类

public  class  Outter{
  private  class  A{}
  class B{}
  protected class  C{}
  public  class D{}
}

注意哦这里说的是普通类,不包含内部类 内部类可以理解为 成员变量或静态变量 既然算是变量 自然就可以使用四种访问权限 可以发现 访问权限这一块

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个想挣钱的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值