在CoreJavaⅠ一书中,它说......
protected应谨慎使用关键字.如果您使用protected字段设置类,则如果要更改它,则必须通知所有使用此类的程序员.
我不明白.如果Son extends Father,并且Father已经改变,Son则没有受到影响.这样对吗?
示例:如果父亲有一个保险箱并给他的儿子组合.儿子可以在不通知父亲的情况下从保险箱拿钱,或者反过来.无论哪种方式,都无法保证从保险柜拿钱的儿子会将这些信息传达给父亲.
另一方面,如果儿子总是向父亲要钱,那么父亲就可以跟踪支出并控制钱的花费.
这相当于封装.将字段保密并公开公共或受保护的方法始终是最佳做法.这样,负责人(声明字段的地方)可以隐藏字段修改方式的详细信息,但可以访问与方法调用者相关的信息.
这也掩盖了未来的变化.例如,假设您有一个名为total的字段.如果您直接访问该字段,则无法保证字段未被错误地修改并引入了错误.但是,如果您只通过方法()提供访问权限,则可以更改计算的执行方式,并且调用该方法的任何人都不会受到影响,并从更改中获益.