java访问权限修饰符_Java访问权限修饰符总结-Java基础教程系列-11

大家好,我是你的老师父,这次讲讲剩下的两个权限修饰符一个是public,其实之前讲过,另外一个是什么都不写那其实是default或者称作friendly修饰符。

df5c469d9c775a6d092c24f78e1f98d2.png

public:

这个修饰符权限完全公开,所有类和包都可以访问的到

作用:一般用作公开的方法、常量、静态变量、静态常量等地方

注意:属性上很少用public,为了保证安全,一般属性都是要封装private的。

那default或者说friendly

这个是包内可以访问,仅仅是包内所有类都可以访问

区别于protected的是:

protected是

1、包内所有类可以访问

2、包外的子类可以访问

默认访问权限是:

1、包内可以访问、同一个包内子类也可以访问!

2、包外任何类都是不能访问的!

比如下边的例子:

81863ef1a6f2e5277ea96817027fe572.png

大家看到TeaCup继承了Cup类,Cup的deep属性是用的protected的访问权限,虽然两个类在不同包中,但是Cup的派生类也TeaCup是可以直接使用deep这个属性的。

那再看下边这个例子和上边例子目录结构一致,唯一不同的是属性的访问权限是默认的:

cd2d63c8caa478f3ad6d69c22ddae3fe.png

这个例子中Desktop中所有属性都是默认访问权限,也就是包访问权限

StudentDesktop和Desktop分别在两个包中

即使StudentDesktop是Desktop的派生类,那StudentDesktop也是无法访问属性的。

那默认访问权限在同一个包中的子类呢?咱们验证下,把StudentDesktop移动到test01包中(鼠标拽过去就可以)

6cb7d3aaaaa15e251671b0da7cd9854b.png

那大家看,两个在相同目录了,并且是父子关系,那属性是默认的访问权限,这个属性在子类中是可以访问的!

大家自己试试在同一个目录下,属性默认的访问权限在非子类的类中是否可以访问?(其实是可以访问的)

那默认访问权限大家应该清楚了。

到此为止private、protected、default和public这四种访问权限的方式大家都学会了,

我给大家都列举一下private、protected、default和public这四种访问权限的权限列表吧,看截图:

43969b6aab4aa7698e02074a7454c42b.png

现在四种访问权限已经跟大家讲完了,顺带讲了面向对象三大特征中的其中两种。下一篇把面向对象的第三大特征:多态跟大家讲讲,这个是一个难点,希望大家先找找资料看看。另外大家有时间回顾回顾这几篇文章!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值