51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> java >> 文章正文

个类没有设置为public,但是其中的成员变量或函数设置为public或protected,这是不是没有什么作用呢

更新时间:2012-1-6:  来源:51代码网

我有一个问题很疑惑,假设一个类没有设置为public,但是其中的成员变量或函数设置为public或protected,这是不是没有什么作用呢?它的成员变量和函数仍然无法在其它包中使用,对吗?
不是public 默认是default,这样确实是没法在其他包当中使用的,访问权限控制就是起这个作用的
答案很肯定
打个比方吧,一个人(类)不能进入中国馆(权限范围),他的腿(成员变量和函数)怎么能自己进去呢

类只能有public或默认访问级别。具有默认级别的类只能对位于同一个包中的类是可见的。如果将一个类声明为默认级别,其他包中的类要访问该类中的protected成员,可以通过继承实现。这样有利于提高安全性。一个默认类中声明public方法还是有作用的,比如我在一个包中定义两个类,一个默认类,一个public类,默认类被public类继承。那么默认类中的public方法也会被继承,虽然默认类不能被包外的类访问,但是其中的public方法可以通过public类来访问。(是不是有一点绕?)

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |