Java中private、protected、public、default的区别
- public:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等,它常用于对外的情况,也就是对象或类对外的一种接口形式;
- protected:主要的作用就是用来保护子类的,它的含义在于子类可以用它修饰成员,其他的不可以,它相当于传递给子类一种集成的东西;
- default:有时候也成为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以;
-
private:访问权限仅限于类的内部,是一种封装的体现,例如大多数成员变量都是由private修饰的,它们不希望被外部的类访问。
- | 类内部 | 本包 | 子类 | 外部包 |
---|---|---|---|---|
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | - |
default | 是 | 是 | - | - |
private | 是 | - | - | - |
网友评论