权限访问修饰符

/*
*
* 实现结果证明了一件事情:
*
* 关于权限访问修饰符:
*
* 首先
*
*    总的原则:只有当类可以访问的时候才考虑成员的访问权限问题,类不可以访问的时候,成员自然也不可以访问。
*
*
*    类的访问修饰符 : 默认、public
*
*     默认: 只允许同一个子包中的类对其进行访问,位于不同包中的类,即使使用完全限定名称,也无法访问这个类
*     public: 突破了包的封装,允许不同包中的类对其进行访问,但访问时需要使用完全限定名称
*
*     注意:除非是类A和类B是位于同一个包中,否则,类A访问类B必须使用类B的完全限定名,即使用类B的“包名.类名”
*
*    成员访问修饰符 :private、默认、 protected 、public
*
*      private:只允许该成员在成员所在的类的定义中访问,不允许在程序的任何其他位置处访问该成员(即出现对该成员的调用)
*
*      默认 :允许该成员在包的范围内被访问,即允许该成员的调用语句出现在下面的场合下:与该成员所在类位于同一个包中的类中都可以调用它
*
*      protected :允许该成员在子类中访问,这就话的意思是,protected修饰的成员的调用语句可以出现在以下场合:
*
*        1、凡是默认成员可以出现的位置,其都可以出现,即同一个包中的类中都可以调用该成员
*
*        2、不同包中的类,protected修饰的成员只可以出现在位于不同包的子类中,而且必须以“super.成员”的这种形式出现。
*        如果是位于不同包中的子类中调用protected的成员,使用"父类名称.成员"的形式调用,则会报错。
*
*      例如:
*      【Father.java】
*        package com.heima
*        public class Father
*        {
*          protected void show()
*          {
*            System.out.println("I am Father!");
*          }
*        }
*
*      【Child.java】
*         package com.itcast
*         public class Child extends Father
*        {
*          public void method()
*          {
*            super.show(); //Right
*            show();//Right
*            new Father().show() //Wrong
*          }
*        }
*
*      public :允许在不同包的类中调用public成员,即允许所有类调用public成员,不过要使用类的完全限定名称。public成员在程序的任何为值都可以调用
*
*
*
*
*/

posted @ 2015-05-14 22:49  蓝色T-shirt  阅读(192)  评论(0编辑  收藏  举报