访问修饰符

 下面我定义了三个public、protected、private这三个级别的变量和不带修饰符的变量,其中defaule关键字不需要带上,defaule带上后编译器会报错,在不同的类和不同的包中测试

可以看出,在同一个类中,是都可以访问的,带上default修饰符会报错

 通过上面的代码可以看出在Base、User、Main这三个类是在同一个包中,User继承Base,同一个包中,不同类中,private修饰的变量是无法访问的,即使是子类继承父类也无法访问,但是public、protected和未修饰的是可以访问的

 

 可以看出Member和Base在不同的包下面,在不同的包中private修饰的变量是无法访问的,而且protected修饰的也是无法访问的

可以看出Info和Base是在不同的包下面,Info是继承Base的,通过子类继承父类后,protected修饰的变量在不同的包下也是可以访问的。

还回过头来看上面的表格,值得注意的是protected,在其他包中,子类是可以访问的。

原文地址:https://www.cnblogs.com/guochang/p/9554960.html