当前位置:  技术问答>java相关

有个问题困惑着我!!

    来源: 互联网  发布时间:2015-08-23

    本文导语:  高手们,您们好啊!“访问控制 (4)”中的问题在下实在不会,欲求一解,因为本人才疏学浅,能否通俗解之?感激不尽!                           访问控制 (1)    类的访问控制说明符 (Access S...

高手们,您们好啊!“访问控制 (4)”中的问题在下实在不会,欲求一解,因为本人才疏学浅,能否通俗解之?感激不尽!





                          访问控制 (1)



   类的访问控制说明符 (Access Specifier)

            公共的 (public):对所有的类均可见

            语法: public  class  类名称{ }

            友好的 (“friendly”,无关键字):只对同一包中的类可见

            在一个源代码文件 (*.java)中只能有一个公共类,且该公共类的名

            称必须要与源代码文件名称精确匹配。

                // TheSameName.java

                 public class TheSameName{ }







                           访问控制 (2)



                      类 同一类 同一包中 不同包的 不同包的

                                     的类            子类          非子类

              访问

            public        可见         可见            可见           可见



            protected     可见         可见            可见



            “friendly”    可见         可见



            private       可见







                             访问控制 (3)

 // Cake.java

 package  mypackage;

 public  class  Cake{

        void bite()  {  System.out.println(“Delicious!”);  }

 }  



  //Dinner.java

  import  mypackage.*;

  public  class  Dinner{

         public static void main(String[ ] args){

              Cake  x = new Cake();

              x.bite();    //Can’t access

         }

  }

                      访问控制 (4)



            bite()方法加上public

            使用缺省包机制

              假定ClassPath = D:,.

              将Cake.java中的package声明去掉

              将Cake.java文件移动D:下或者当前目录下

|
(3)里面说的问题是static方法不能调用非static方法,也不能访问非static数据。
(4)是说将bite()方法声明为public,同时按照它说的方法来实现缺省包机制,就可以使bite()方法对于任何类都是可见的了。

注意:(3)和(4)是两个不同的问题,(4)的方法解决不了(3)中的问题,只有把bite()声明为static,才能解决(3)的问题。

|
“访问控制 (4)”中不是问题,而是解答。
因为(3)中“            x.bite();    //Can’t access”
这是一个问题,(4)中给出了两个解决方法。
一个是:“bite()方法加上public”
一个是:“使这两个类在同一个包(package)内”,具体可以用的方法如(4)中所述。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • NOSQL iis7站长之家
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3