Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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 哪些字段名具有前缀';m';?_Java_Naming Conventions - Fatal编程技术网

Java 哪些字段名具有前缀';m';?

Java 哪些字段名具有前缀';m';?,java,naming-conventions,Java,Naming Conventions,公约规定:“非公共、非静态字段名以m开头,其他字段以小写字母开头”。它是只引用类字段(如示例1)还是引用所有字段(如示例2) 例1 public class One { private int mFieldOne; private int mFieldTwo; public void someMethod(){ int methodFieldOne; int methodFieldTwo; } } 例2 public class Two {

公约规定:“非公共、非静态字段名以m开头,其他字段以小写字母开头”。它是只引用类字段(如示例1)还是引用所有字段(如示例2)

例1

public class One {
   private int mFieldOne;
   private int mFieldTwo;

   public void someMethod(){
      int methodFieldOne;
      int methodFieldTwo;
   }
}
例2

public class Two {
   private int mFieldOne;
   private int mFieldTwo;

   public void someMethod(){
      int mMethodFieldOne; //see m here
      int mMethodFieldTwo; //see m here
   }
} 

在第二个示例中,
mmethodfeldone
mmethodfeldtwo
不是字段,只是
someMethod
的局部变量,因此命名约定不适用。

它只引用字段,字段是类成员(
m
)。其他变量是局部变量。

方法访问修饰符(private)内部不可接受,编译时错误。“非公共、非静态字段名以m开头”表示实例变量,这是第一种情况。在方法中,它将以小写字母开头。

这是Android贡献者指南,而不是Java社区

遵循字段命名约定非公共、非静态字段名 从m开始

静态字段名以s开头

其他字段以小写字母开头

公共静态最终字段(常量)都是带下划线的大写字母


无论如何,我认为这是不必要的,也不符合样式。

注意那些“字段”“在示例中的方法不编译时,
private
修饰符在那里是非法的。那应该已经打开了一个灯泡:)@BalusC抱歉,这只是一个例子。我复制粘贴的时候没有太多的注意。我的观点是,你不能调整局部变量的可见性,也不能使它们成为静态的,所以“非公共的,非静态的”这句话已经没有意义了。@bergmam:命名私有字段和静态字段的条件约定(在我看来绝对糟糕和无用)。其他似乎认可的特别约定包括:onXXX表示事件方法,onXXX表示事件侦听器接口名称,唯一侦听器注册方法而不是常见的多侦听器注册(setOnXXXListener而不是addXXXListener/removeXXXListener)。没有那么多,但不够好,不是真正的增值。安卓:对不起,这只是一个例子。我做了复制和粘贴没有采取太多的照顾。我已经修好了。