Java 四种访问修饰符详解

访问修饰符权限

PS 红色是不可访问

private

在当前类中 main方法之外可以借助名称使用 在main方法中需要实例化对象使用
我们想要在别的类中调用私有成员 就需要建立一个公有的方法 在公有方法中使用这个私有成员 也就是面向对象中的封装。
在继承中,私有成员无法被继承,子类无法使用父类的私有成员。
在这里插入图片描述

public:

在当前类中 main方法之外可以借助名称使用 在main方法中需要实例化对象使用
在其他任何地方 都可以实例化对象进行访问
在继承中,被public所修饰的成员能被所有的子类继承下来并使用。
在这里插入图片描述

protected:

同包情况下

在当前类中 main方法之外可以借助名称使用 在main方法中需要实例化对象使用
在同包的其他类中,可以用实例化对象访问使用
在同包的子类中,被protected修饰的成员可以被继承访问,也就是可以实例化父类或是子类的对象使用
在同包其他类中,且不是子类,要使用子类的类中,同一个包中,可以使用实例化父类或是子类的对象使用

不同包情况下

在不同包的其他类中,不可以用实例化对象访问使用
在不同包的其他子类中,被protected修饰的成员可以被继承访问,但是只能通过实例化子类对象使用。
在不同包的其他类中,且不是子类,要使用子类的类中,是不能通过例化子类对象调用父类的受保护成员的 因为这个时候相当于父类中的受保护成员跨包了。如果想要通过子类对象调用父类的受保护的成员,需要重新覆写父类的这个成员。
在实际的开发中也许很少用到protected来作访问控制,但是java的这个修饰符设计很巧妙,思想很高。同包中可以看做是public,异包中可以看做private
在这里插入图片描述

package/friendly/default

同一包中的所有类都能访问。所修饰的成员只能被该类所在同一个包中的子类所继承下来。
别的包中的子类是没法访问的。
在这里插入图片描述

总结

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值