请说出作用域public,private,protected,以及不写时的区别?

这四个作用域的可见范围如下表所示。

作用域    当前类   同一package    子类    全局

public      √       √             √       √

protected   √        √             √      ×

default     √        √             ×      ×

private     √        ×             ×      ×

说明:如果在修饰的元素上面没有写任何访问修饰符,则表示default

只要记住访问权限由小到大依次是private default protected public,然后再记住Java存在的4个访问范围,就很容易画出上面的表格了。