A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© znouy_92 中级黑马   /  2014-12-25 16:29  /  2686 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有谁能总结一下java里的public、private、protect三者之间的区别吗,总感觉自己在编程的时候容易出问题

16 个回复

倒序浏览
public权限最大,公有的
回复 使用道具 举报

QQ截图20141225181452.png (337.85 KB, 下载次数: 99)

QQ截图20141225181452.png
回复 使用道具 举报
public权限最大,公有的,  
private私有的,面向对象封装的一种表现行式,隐藏对象的属性和实现细节,仅对外提供公共的访问方式,
protect 介于public 和private之间的一种访问权限修饰符,被它修饰的类,属性以及方法只能被类本身的方法以及子类方法访问。
回复 使用道具 举报
权限修饰符,优先级public-protect-private
回复 使用道具 举报
public权限最大,谁都能访问;全局访问
protect中间,本类及本类的子类进行访问,同一包中也可以
private 最小,用于修饰类中的成员。只限本类使用,外界想访问,必须提供public修饰的公有方法,如   setXxx();可用于对象的封装。
你不想让别人随便访问的,设定为private。大家随便用的用public
回复 使用道具 举报

你这本书名字是什么
回复 使用道具 举报
Honelyboy 发表于 2014-12-25 20:33
权限修饰符,优先级public-protect-private

这个肯定知道,就是在出现继承和静态的时候有时候会模糊
回复 使用道具 举报
public是公共的 所有类都能用
protect 本类 同包
private 私有的。此类私有私有的。。
回复 使用道具 举报

这张图好,一目了然啊。赞个!!!
回复 使用道具 举报
znouy_92 发表于 2014-12-26 14:18
你这本书名字是什么

Java 面向对象程序设计 (第二版)  清华大学出版社 袁绍欣 安毅生 赵祥模 葛玮 编著
http://yuedu.baidu.com/subject/5fdf74ec0975f46527d3e14e  
就是这本 我们上课的课本
回复 使用道具 举报
这四个作用域的可见范围如下表所示。
说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。

作用域    当前类 同一package 子孙类 其他package
public       √          √                √          √
protected  √          √                √          ×
friendly     √          √                ×          ×
private      √          ×               ×           ×

备注:只要记住了有4种访问权限,4个访问范围,然后将全选和范围在水平和垂直方向上分别按排从小到大或从大到小的顺序排列,就很容易画出上面的图了。
回复 使用道具 举报 1 0
cz萑 中级黑马 2014-12-26 21:23:47
13#
观望中      
回复 使用道具 举报
public>protect>private
回复 使用道具 举报
作用域    当前类 同一package 子孙类 其他package
public       √          √                √          √
protected  √          √                √          ×
default      √          √                ×          ×
private      √          ×               ×           ×
回复 使用道具 举报
哎,每次想说点什么,看到这么多的大神,只能各种。。。。。。。。。。。。。。。。
回复 使用道具 举报
FINE 中级黑马 2014-12-28 22:21:24
17#
protected  修饰符写错了,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马