标签:
/*
*
* 实现结果证明了一件事情:
*
* 关于权限访问修饰符:
*
* 首先
*
* 总的原则:只有当类可以访问的时候才考虑成员的访问权限问题,类不可以访问的时候,成员自然也不可以访问。
*
*
* 类的访问修饰符 : 默认、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成员在程序的任何为值都可以调用
*
*
*
*
*/
标签:
原文地址:http://www.cnblogs.com/wllbelief-win/p/4504717.html