Java作用域只有4个,分别是public、private、protected、default。4个作用域的对比表网上有很多,我觉得看着也很累,所以我就简单的说一下好了。
public 全都可以访问。
private 除了自己都不能访问
protected 同包及其子类可以访问,
default(默认) 同包可访问
作用域 | 当前类 | 同一个包 | 子类 | 其它包 |
private | √ | |||
default | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
一个面试题
下列说法正确的是()。
A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
C.实例方法可直接调用其它类的实例方法
D.实例方法可直接调用本类的类方法
解答:当超类的实例方法或者类方法是private时是不能够被调用的。
所以选D,不管作用域是什么,本类方法是一定可以调用的。