在java中,作用域决定了其定义的变量名或者方法的可见性与生命周期,主要有四种作用域:
(1)public:表明该成员变量或方法对所有类或者对象都是可见的,所有类或者对象都可以直接访问;
(2)protected:表明该成员变量或方法对自己以及子类是可见的,除此之外的其他类或对象都无权访问;
(3)default:表明该成员变量或方法只有自己和与其位于同一个package内的类可见。若父类与子类位于同一package,则子类对父类的default成员变量或方法都有访问权限,若不在同一package,则没有访问权限;
(4)private:表明该成员变量或方法只有当前类对其具有访问权限,除此之外的其他类或对象都无权访问;
注:以上四种作用域的修饰符只能修饰成员变量,不能用来修饰局部变量,private和protected不能用来修饰类
作用域与可见性 | 当前类 | 当前package | 子类 | 其他package |
public | 可见 | 可见 | 可见 | 可见 |
protected | 可见 | 可见 | 可见 | 不可见 |
default | 可见 | 可见 | 不可见 | 不可见 |
private | 可见 | 不可见 | 不可见 | 不可见 |