-1

好的,我正在阅读 Android 开发教程书:The Big Nerd Ranch,我在第二章中,它告诉您在 getter 和 setter 之前需要有特定的前缀,而不是特定的前缀。

“设置这些前缀有什么意义?现在,当您要求 Eclipse 为 mQuestion 生成 getter 时,它将创建 getQuestion() 而不是 getMQuestion() 和 isTrueQuestion() 而不是 isMTrueQuestion()。”

为什么会getMQuestion()有所作为,难道不一样getQuestion()吗?

谢谢

4

1 回答 1

2

您将“m”前缀放在实例属性之前,将“s”前缀放在类属性之前,并且没有局部变量的前缀。这是一个标准,因此在阅读类实现细节时更容易区分变量范围。

当您阅读对象方法的代码时,您会看到三个变量:mValue、sValue、value 您知道: - mValue 是对象属性,因此通过修改它可以更改对象状态。- sValue 是类属性,因此如果您更改它,它将影响该类的所有对象 - 值是本地属性,一旦方法返回,它将被垃圾收集。

此命名约定是类实现细节,不应作为公共接口(getter、setter)从外部可见

于 2014-12-01T20:06:54.503 回答