成员变量和成员方法的访问权限

时间:2020-12-02 15:09:20

 *  ----------------成员变量的访问权限

 *                              public     private       protected    default

 *  当前包同一个类              可以      可以        可以        可以

 *

 *  当前包里面别的类            可以      不可以      可以        可以

 *

 *  别的包里别的类              可以      不可以      不可以      不可以

 *

 *  自己包继承关系的类          可以      不可以      可以        可以

 *

 *  从别的包里有继承关系的类    可以      不可以      可以        不可以 

 *

 *  protected:如果跨包的话,必须有继承关系才可以.自己包可以直接访问不影响

 *  成员变量:default跨包就不可以,protected主要作用是别的包有继承关系就可以,自己包继承不继承都可以

 *  这里有个要点:是在实例化子类变量的时候,可以访问父类的成员变量,这才是指可继承访问权限

 *  如果在子类中,实例化父类的对象,这个时候,访问权限不变

 *

 *

 *  ----------------成员方法的访问权限

 *                              public     private      protected     default

 *  当前包同一个类              可以      可以        可以        可以

 *

 *  当前包里面别的类            可以      不可以      可以        可以

 *

 *  别的包里别的类              可以      不可以      不可以      不可以

 *

 *  自己包继承关系的类          可以      不可以      可以        可以

 *

 *  从别的包里有继承关系的类    可以      不可以      可以        不可以 

 *

 *  default:只要是同一个包里面,不继承也可以实例化访问到,叫包内访问权限

 *  protected:只要是有继承关系的子类中,我们可以通过实例化子类访问父类成员变量和成员属性,叫继承的访问权限(只要有继承,在不在本包都可以)

 *  可继承的访问权限特指protected,是指我们实例化子类,然后通过子类去访问父类的属性,子类和父类不在一个包也可以