好的,所以我正在阅读Android开发教程书:The Big Nerd ranch和我在第二章,它告诉你在getter和setter之前你需要有一些前缀并且没有某些前缀。
"设置这些前缀有什么意义?现在当你问Eclipse时 要为mQuestion生成一个getter,它将创建getQuestion() 而不是getMQuestion()和isTrueQuestion()而不是 。isMTrueQuestion()"
为什么让getMQuestion()
有所作为,它不会与getQuestion()
相同?
由于
答案 0 :(得分:2)
你把" m"在实例属性之前的前缀和" s"类属性前的前缀,局部变量没有前缀。它是一个标准,因此在阅读类实现细节时更容易区分变量范围。
当您阅读对象方法的代码时,您会看到三个变量:mValue,sValue,value 你知道的: - mValue是对象属性,因此通过修改它可以更改对象状态。 - sValue是类属性,因此如果您要更改它,它将影响该类的所有对象 - 价值是当地财产,将是垃圾 方法返回后立即收集。
这个命名约定是类实现细节,不应该从外部看作公共接口(getter,setters)