Java中的作用域的区别

Java中的作用域有 public 、protected、private、default。

  • public:它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类,接口等,它往往用于对象或类对外的一种接口的形式。

  • protected:它主要的作用是用来保护子类,它的含义在于子类可以用它修饰的成员,其他的不可以,他相对于传递给子类的一种继承的东西。

  • private:它的访问权限仅限于类的内部,是一种封装的体现,例如,大多数的成员变量都是private修饰符,它不希望被外部类访问。

  • default:有时候也成为friendly(友元),它是针对本包访问而设计的,任何处于本包下的类,接口,异常等,都可以访问,即使是父类没有用protected修饰的成员也可以。

类内部 本包 子类 外部包
public
protected ×
default × ×
private × × ×

从上面可以更直观的看到:

  • public:可以被其他所有类访问
  • protected:可以被自身,子类,以及同一包下的类访问
  • default:可以被自身和同一包中的类访问
  • private:只可以被自身访问

results matching ""

    No results matching ""