因此,在Java中,封装显然是一个重要的考虑因素,除非有充分的理由否则将每个变量设为私有,这通常是标准做法。
但是,在所有Android文档中的大多数Google示例中,他们从不将其引用声明为私有。
如同,他们写的
Button someButton;
而不是
private Button someButton;
目前,我倾向于将所有视图引用设为私有,即使这样,如果我绝对需要对其数据进行类级别访问,也只能在类级别声明它们。
这是正确的做事方式吗,还是我只是偏执狂?
也许这个约定与单元测试有关?
答案 0 :(得分:4)
这实际上取决于你想做什么。如果您要进行继承,则需要使用protected
。此外,当您使用Butterknife之类的View Binder时,您无法在视图上使用private
,因为它会生成设置字段的代码,因此必须公开提供。
我的意思是它归结为你正在使用和需要做的事情。
答案 1 :(得分:0)
简短回答:是
封装非常好。如果你真的希望它们在你的课堂外可见,你应该只公开变量。它使类更容易使用,更易读。
Google经常使用具有本地范围的ViewHolder类(不使用范围声明),因此该范围内的所有类都可以访问这些成员。
理想情况下,如果您需要提供外部访问权限,则首先使用私有成员变量并将其更改为local / protected / public。