JAVA关键字--private protected public default

private

private表示私有,用于修饰类的变量以及方法,被private修饰的变量和方法只能被类本身的实例调用或者内部类通过[类名].this.[变量或方法名]进行调用。主要用于类中封装相应的不想对外暴露的属性或者方法。

protected

protected表示保护的,介于private与public之间的访问修饰,可以用来修饰变量和方法,不可修饰类,比较形象的比喻,protected只允许朋友,亲戚,以及子女,本身来访问自身的资源。具体化为继承关系,同一个包下面,内部类,以及本身可以访问。可以理解为,对于类所处的包外的类,就是private修饰的相关资源。

public

访问权限最大化的修饰,被public修饰的变量,类,方法都是无条件的对外开放使用的,应用场景基本上用于接口开放,方法开发,共享,util等

default

default基本上和protected区别不大,只不过对于子类default是不可用的,而protected却是可以用的,其他方面与protected基本相同,default默认为friendly修饰。一般用于封装,处理一些内部逻辑

图示访问情况
类内部本包子类外部包
publicYYYY
protectedYYYN
defaultYYNN
privateYNNN
总结

因为楼主最近在学习设计模式并研究相关源码,然而对于处于码农阶段的楼主,最常用的就是public,很想在这篇帖子中写一些private,protected,default的应用场景。[相信了解设计以及架构的朋友能够说出一二].
对于private的应用场景我理解为类中一些不开放的处理和属性,在对外进行保密的时候并不开放出口,符合这类条件的都应该用private。但是private应该在实现类中进行声明,因为private的过于封闭,使得继承和实现的扩展性不是很好。由此推演,protected应该是在父类或者接口中修饰方法和变量的,以此达到继承的目的。而public则是修饰一个对外开放的util场景,接口场景使用到的修饰符。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值