Java中public,private,protected,和默认的区别

 我来答
woshilihaoqin
推荐于2018-10-19 · TA获得超过744个赞
知道答主
回答量:279
采纳率:0%
帮助的人:108万
展开全部
1、private修饰词,表示成员是私有的,只有自身可以访问;
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;
4、public修饰词,表示成员是公开的,所有其他类都可以访问;
百度网友785fbff
2017-04-23 · TA获得超过1216个赞
知道小有建树答主
回答量:653
采纳率:100%
帮助的人:228万
展开全部

作用域    当前类  同包 子类 其他

public        √        √       √      √

protected  √        √       √      ×

默认           √       √       ×      ×

private       √        ×      ×      ×

类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。

Java中访问修饰符public、private、protecte、default的意义讲解:
public(接口访问权限): Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private(你无法访问): Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protected(继承访问权限): 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default(包访问权限):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。 


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
macg
2012-06-04 · TA获得超过153个赞
知道答主
回答量:11
采纳率:0%
帮助的人:6.9万
展开全部
public是公用的,其他类都可调用.
private是私有的,是最严格的,只有当前类(当前JAVA文件)可以调用,甚至继承当前类的子类都不能调用.
protected解决了private的子类不能调用的缺陷,可以理解为一个继承系下的可以调用

打个比方: PUBLIC相当于外人可以调用.private相当于只家庭内可以调用,protected相当于亲戚可以调用.

默认/缺省,个人认为是JAVA比较失败的设计.很多开发组都明确禁止缺省修饰符.
缺省的含义: 包内可以调用,即只要是同一个包内,都可以调用. 局限性比protected 大,比public 小. 从'外人'的角度看,类似于public,但又比public 多了个不伦不类的包限定.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白菜书剩
2018-04-24
知道答主
回答量:12
采纳率:0%
帮助的人:8707
展开全部
final 最终类型;不可以被修改,也就是常量的意思;
private 私有的;只有类 内部才可以访问;
default 系统默认值;它的访问权限是只有在同包和类内部可以访问;
protected 保护的 ;在子类,同包,类内部都可以访问;
public 公共的;任意的都可以访问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式