Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 成员变量中前缀的重要性是什么?_Java_Android_Variables_Member Variables - Fatal编程技术网

Java 成员变量中前缀的重要性是什么?

Java 成员变量中前缀的重要性是什么?,java,android,variables,member-variables,Java,Android,Variables,Member Variables,好的,我正在阅读Android开发教程:《大怪人农场》,我在第二章,它告诉你,在getter和setter之前,你需要有特定的前缀,而不是特定的前缀 “设置这些前缀的意义是什么?现在当您询问Eclipse时 要为mQuestion生成getter,它将创建getQuestion() 而不是getMQuestion()和isTrueQuestion(),而不是 isMTrueQuestion() 为什么使用getMQuestion()会有不同,这与getQuestion()不一样吗 谢谢您将“m”

好的,我正在阅读Android开发教程:《大怪人农场》,我在第二章,它告诉你,在getter和setter之前,你需要有特定的前缀,而不是特定的前缀

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

为什么使用
getMQuestion()
会有不同,这与
getQuestion()
不一样吗

谢谢

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

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


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

检查:此实践存在争议:您之所以要说
getQuestion()
而不是
getMQuestion()
是因为您试图获取一个“问题”,而不是“mquestion”,这在英语中毫无意义。代码可能会以任何一种方式工作,但是编写其他人能够理解的代码是非常重要的。