Android中为什么有些变量会以m开头?配置Android Studio识别成员变量的m前缀

版权声明:给别人一份尊重,留自己一方安心。 https://blog.csdn.net/Zheng548/article/details/71567519

Android中为什么有些变量会以m开头

 private String mTitleText;

为什么变量名非得以 ‘m’ 开头呢?像上面这样。而不是这样呢?

 private String titleText;

这个疑问终于有一天我找到了答案。

Follow Field Naming Conventions

Non-public, non-static field names start with m.

Static field names start with s.

Other fields start with a lower case letter.

Public static final fields (constants) are
ALL_CAPS_WITH_UNDERSCORES.

也就是说:

  • 非公有、非静态域的变量以m开头(其实就是protected和private成员变量)
  • 静态变量以s开头
  • 其它变量以小写字母开头
  • Public static final变量(常量)以下划线连接全大写ALL_CAPS_WITH_UNDERSCORES

举个例子:

public class MyClass {
    public static final int SOME_CONSTANT = 42;
    public int publicField;
    private static MyClass sSingleton;
    int mPackagePrivate;
    private int mPrivate;
    protected int mProtected;
}

好,知道了这些规则,于是我定义了这样一个实体类:


public class User {
    private String mName;

    private String mPassword;

}

下面要生成 getter 和 setter 方法,于是,

按下 Alt + Insert 键 选择 Getter and Setter .

生成下面的代码:

public class User {
    private String mName;

    private String mPassword;

    public String getmName() {
        return mName;
    }

    public void setmName(String mName) {
        this.mName = mName;
    }

    public String getmPassword() {
        return mPassword;
    }

    public void setmPassword(String mPassword) {
        this.mPassword = mPassword;
    }
}

发现 Getter and Setter 方法多了一个 m 。

这样确实很难看,有没有办法让Android Studio 能自动识别出前缀呢?

一张图你就明白了:

这里写图片描述

先打开这个设置页面,然后:

这里写图片描述

这样就Ok了,

现在来看下效果:

public class User {
    private String mName;

    private String mPassword;

    public String getName() {
        return mName;
    }

    public void setName(String name) {
        mName = name;
    }

    public String getPassword() {
        return mPassword;
    }

    public void setPassword(String password) {
        mPassword = password;
    }
}

猜你喜欢

转载自blog.csdn.net/Zheng548/article/details/71567519