一张表就能讲清楚
Modifier | Class | Package | Subclass | World ————————————+———————+—————————+——————————+——————— public | y | y | y | y ————————————+———————+—————————+——————————+——————— protected | y | y | y | n ————————————+———————+—————————+——————————+——————— no modifier | y | y | n | n ————————————+———————+—————————+——————————+——————— private | y | n | n | n
这里no modifier就是不写作用域默认的,也可以叫做friendly
举个例子吧:
父类A在a包,子类B在b包。父类A有个默认作用域属性 int num 子类B就不能使用