我目前正在处理一些现有代码,其中包含使用LOG_TAG
或默认可见性声明的大量protected
属性。
当我在这些类的子类中声明自己的LOG_TAG
时,由于字段隐藏,我收到了很多警告。这就是为什么我开始想知道为什么以前的开发者做出这样的选择。
我不相信在暴露类的LOG_TAG
字段时有任何用处,因为任何子类都应该有自己的区别与其父类。
这就是我要问的原因:
LOG_TAG
更好吗?恕我直言,所有这些字段都应该是私有的,每个类别都有一个LOG_TAG
。
答案 0 :(得分:3)
我认为你已经回答了自己的问题,但请允许我扩展你的答案。 :)
TAG的目的似乎主要是完成两件事:
也就是说,你可以通过在父类和子类之间共享TAG来完成#1,而不是#2。因此,共享TAG
会丢失(如果您有3个共享相同TAG
的类,您可能并不总是通过简单检查LogCat输出哪个类生成所述输出而知道。
所以回答你的问题,不,我认为对子类使用相同的TAG
没有任何意义。永远。决不。如初。
我同意你的观点,TAG
应始终声明为private
(以及static final
),这将排除在父类中声明的TAG被用于儿童班。
我说,保留那些TAG
s private
!
继续。