我写了一段代码:
public abstract class TestService extends Base {
protected final MappedObject<A, B> mappedObject;
public TestService(Provider provider, ObjectMapper objectMapper) {
mappedObject = new MappedObject.Builder<A, B>(...);
...
}
...
}
但是,我已被指示将前缀this
添加到mappedObject,因为它在设置实例变量时是惯例。这是真的吗?
我的印象是this
作为前缀只有在存在可能导致歧义的同名参数时才需要使用。因此,引用实例变量而不是传递的参数需要this
。
答案 0 :(得分:0)
正如您似乎意识到的那样,只要类的局部变量和成员变量之间没有歧义,它就没有必要。
然而,这方面有许多不同的学校,以及它的常规和#34;或不根据您的要求而变化(不同的开发者有不同的偏好,不同的公司有不同的约定等)。我会说这在学校课程中最常见。在现实世界中,您可能会不时在构造函数中看到它,但根据我的个人经验,这种情况非常罕见。
我发现的东西更像是一个约定,并且与这个问题有点联系,就是在成员变量前加m
,如mMappedObject
中所示,表明它是一个成员变量。这很常见 - 事实上,人们可能会认为它可能比this
前缀更常见。