外部类
public和缺省
(1)外部类的权限修饰符如果缺省,本包使用没问题
(2)外部类的权限修饰符如果缺省,跨包使用有问题
跨包使用外部类必须public
成员变量、成员方法
(1)本包下使用:成员的权限修饰符可以是public、protected、缺省
- 只要package语句完全相同就是本包
- private:仅限于本类使用,不管包,不管是否子类,跨类就不能用了
- 缺省、protected、public:本包下都可使用,子类可以直接用,非子类只要有对象就可以用
(2)跨包下使用:要求严格
- package语句不完全相同就是不同包
- private:仅限于本类
- 缺省:仅限于本包
- protected:跨包仅限于子类中
- public:同模块任意位置
(3)跨包使用时,如果类的权限修饰符缺省,成员权限修饰符>类的权限修饰符也没有意义
package use;
class Mother{
public int b;
}
//b虽然有public修饰但是Mather类是缺省的,
//不能跨包使用Mather类,b也就无法跨包使用