为什么很多人写代码会在变量名前面加一个小写的m?

上大学那会儿就对这个问题感到很好奇。于是网上到处搜,有人说是member的意思。于是后来一直就这么认为。

最近在读Android源码,发现很多系统变量命名时都加了m,而有的变量又没有加m,这是什么情况?

于是Google了一把,“letter m before variable ”,第一条结果是来自stackoverflow的答案。

终于看到一个不同的答案了, The use of the "m" prefix is more specific than simply denoting a "member" variable.这个是Google官方的介绍。

http://source.android.com/source/code-style.html#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.

For example:

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;
}

非公有的变量前面要加上小写m,

静态变量前面加上小写s,

其它变量以小写字母开头,

静态变量全大写。

除了protected外,其它的带有m的变量在子类中是无法访问的。

转载于:https://www.cnblogs.com/ameryzhu/p/6555632.html

关于变量名前面加m的问题相关推荐

  1. Python中变量名后加冒号“:”以及函数后面的箭头“->”含义

    这两种都是Python 中的类型注解 一.变量名后加冒号":" var: type = value 这是 Python 3.5 中引入的 Type Annotation,是一种注解 ...

  2. Python 中变量名后面加冒号是什么意思?

    Python 中的类型注解--变量名后面加冒号标明变量类型,用法: var: type = value 这是 Python 3.5 中引入的 Type Annotation,是一种注解,用来提示变量的 ...

  3. Python中变量名后面加冒号是什么意思?

    见过一个大佬写的代码是这样的: user: User = User.objects.filter(id=data.get('uid')).first() 变量名后面的冒号是:类型注解,3.6以后加入的 ...

  4. JavaScript 里变量名前面加了大括号代表什么含义

    在ES6的语法里面, 如果export的时候加了default , import的时候就不需要加{}; 如果没有加default就需要加{} 在ES5用require引入的语法, 第一和第三个,相当于 ...

  5. vue里面变量名前面加三个点代表什么意思?

    例如: row: {...item }, 这是es6的语法:他的效果是这样的 var a = {name: '张三',age: 25 }var b = {job: 'web前端',...a }// 相 ...

  6. JavaScript中方法或者变量名称前加下划线的是什么意思?

    JavaScript中的方法或者变量名称前面有下划线,是做什么的? 加下划线不是js要求的,是程序员约定俗成的. 通常变量前加下划线表示"私有变量". 函数名前加下划线表示&quo ...

  7. python有效变量名banana,python中变量名

    Python中变量名后面加冒号是什么意思? def func(z,arg2=''): a:z=None print(a) x=func('22','3') #print出来这是Python 3.5中引 ...

  8. php 调用变量方法名,php中引用(变量和函数名前加符号)用法

    本文章来给大家介绍在php中我们常看到在在php变量前面加个&符号,这个就是php中引用符号了,它可以用于各种变量.函数.对象了下面我来给各位详细介绍php&符号用法.在 PHP 中引 ...

  9. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名

    使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...

最新文章

  1. URL解析-URLComponents
  2. android 无法安装测试版本,在测试应用更新时,安装无提示阻止Android版本构建签名APK...
  3. python canvas画弧度_只要十分钟,python绘图神器turtle了解一下?
  4. 常见算法的python实现(Github标星75.5k+)
  5. 1QPushButton的使用,QLineEdit的使用,设置组件位置,布局(QHBoxLayout,QGridLayout)
  6. Cache--主存地址映射
  7. CentOS7安装Hadoop2.7完整步骤
  8. android list 替换元素_Java 集合(二)——Set 集合、List 集合和 Collections 工具类...
  9. mysql s x锁_mysql 的S 锁和X锁的区别
  10. 什么样的公司卖什么货!
  11. 手把手较你编写Python爬虫程序-不要干坏事哦
  12. 计算机休眠下睡眠的不同点是什么,电脑休眠和睡眠的区别是什么
  13. 当我在浏览器输入 www.baiu.com 之后发生了什么
  14. CRM系统怎么定价?
  15. 微服务: 立志做个伟大的项目
  16. 查询毕业证书的(学信网查)
  17. 人工智能轨道交通行业周刊-第25期(2022.11.28-12.4)
  18. 【Bioinfo Blog 013】【R Code 011】——甲基化芯片数据分析(ChAMP包)
  19. 更好的确保企业数据安全,华为云数据灾备解决方案更便捷
  20. 世相科技:引领新媒体时代的潮水方向

热门文章

  1. 如何使用Redux-saga和ReactDnD测试React和Redux(哇!)
  2. java redis 主从 哨兵_Redis主从复制与哨兵机制
  3. php hasattribute,PHP DOMElement hasAttribute()用法及代码示例
  4. (C++)1029 旧键盘
  5. Oracle可变数组实例说明
  6. 在UI设计中如何正确使用颜色
  7. mysql的profile_Mysql分析-profile详解
  8. syslog打印不带等级_printk的日志级别和控制台级别
  9. Jmeter 使用自定义变量
  10. cin、cout的重载