在java中对于public和private的权限访问很明显不用再详细讨论,对于proteced和private的权限访问总是有一些不太确定的边界。下边有一些文字的定义来说明一下:
1、protected只可以用于修饰method和data(private也一样) 不可修饰class(内部类除外)
default 可以用于修饰 class、method、data (也就是不加修饰符,就默认为default)
2、protected修饰的 method、data 除了在同包中可以被取用,在其他包中的子类也可以取用。
default 修饰的class、method、data 只可以在同一个包中被取用,包外无法看到,也包括其子类。