码迷,mamicode.com
首页 > 编程语言 > 详细

Java修饰符:public,protected,private,不加修饰符。有什么区别呢?

时间:2014-10-14 21:17:45      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:stackoverflow问题精选   修饰符   public   private   

问题
Java修饰符:public,protected,private,不加修饰符。有什么区别呢?


精华回答

如下表所示,Y表示能访问(可见性),N表示不能访问,例如第一行的第3个Y,表示类的变量/方法如果是用public修饰,它的子类能访问这个变量/方法
修饰符 类内部 同个包(package) 子类 其他范围
public Y Y Y Y
protected Y Y Y N
无修饰符 Y Y N or Y(见说明) N
private Y N N N
说明:
需要特别说明“无修饰符”这个情况,子类能否访问父类中无修饰符的变量/方法,取决于子类的位置。如果子类和父类在同一个包中,那么子类可以访问父类中的无修饰符的变量/方法,否则不行。

译注:本来觉得很简单一个问题,没想记录的,但看到答案,才发现自己以前错了。我以前一直以为无修饰符和private是一样的,如果没给变量加修饰符,java就默认为private。

stackoverflow链接:
http://stackoverflow.com/questions/215497/in-java-whats-the-difference-between-public-default-protected-and-private

专栏介绍:
非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。偶然发现该网站有一个热度榜单。于是精选了热度较高的一些问题,阅读每个问题的答案,然后按照自己的理解梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删、润色,希望能把上面的讨论,更精简有效地分享给大家。
如需转载,请注明原文地址


Java修饰符:public,protected,private,不加修饰符。有什么区别呢?

标签:stackoverflow问题精选   修饰符   public   private   

原文地址:http://blog.csdn.net/lizeyang/article/details/40081857

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!