关于变量名前面加m的问题
为什么很多人写代码会在变量名前面加一个小写的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的问题相关推荐
- Python中变量名后加冒号“:”以及函数后面的箭头“->”含义
这两种都是Python 中的类型注解 一.变量名后加冒号":" var: type = value 这是 Python 3.5 中引入的 Type Annotation,是一种注解 ...
- Python 中变量名后面加冒号是什么意思?
Python 中的类型注解--变量名后面加冒号标明变量类型,用法: var: type = value 这是 Python 3.5 中引入的 Type Annotation,是一种注解,用来提示变量的 ...
- Python中变量名后面加冒号是什么意思?
见过一个大佬写的代码是这样的: user: User = User.objects.filter(id=data.get('uid')).first() 变量名后面的冒号是:类型注解,3.6以后加入的 ...
- JavaScript 里变量名前面加了大括号代表什么含义
在ES6的语法里面, 如果export的时候加了default , import的时候就不需要加{}; 如果没有加default就需要加{} 在ES5用require引入的语法, 第一和第三个,相当于 ...
- vue里面变量名前面加三个点代表什么意思?
例如: row: {...item }, 这是es6的语法:他的效果是这样的 var a = {name: '张三',age: 25 }var b = {job: 'web前端',...a }// 相 ...
- JavaScript中方法或者变量名称前加下划线的是什么意思?
JavaScript中的方法或者变量名称前面有下划线,是做什么的? 加下划线不是js要求的,是程序员约定俗成的. 通常变量前加下划线表示"私有变量". 函数名前加下划线表示&quo ...
- python有效变量名banana,python中变量名
Python中变量名后面加冒号是什么意思? def func(z,arg2=''): a:z=None print(a) x=func('22','3') #print出来这是Python 3.5中引 ...
- php 调用变量方法名,php中引用(变量和函数名前加符号)用法
本文章来给大家介绍在php中我们常看到在在php变量前面加个&符号,这个就是php中引用符号了,它可以用于各种变量.函数.对象了下面我来给各位详细介绍php&符号用法.在 PHP 中引 ...
- 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...
最新文章
- URL解析-URLComponents
- android 无法安装测试版本,在测试应用更新时,安装无提示阻止Android版本构建签名APK...
- python canvas画弧度_只要十分钟,python绘图神器turtle了解一下?
- 常见算法的python实现(Github标星75.5k+)
- 1QPushButton的使用,QLineEdit的使用,设置组件位置,布局(QHBoxLayout,QGridLayout)
- Cache--主存地址映射
- CentOS7安装Hadoop2.7完整步骤
- android list 替换元素_Java 集合(二)——Set 集合、List 集合和 Collections 工具类...
- mysql s x锁_mysql 的S 锁和X锁的区别
- 什么样的公司卖什么货!
- 手把手较你编写Python爬虫程序-不要干坏事哦
- 计算机休眠下睡眠的不同点是什么,电脑休眠和睡眠的区别是什么
- 当我在浏览器输入 www.baiu.com 之后发生了什么
- CRM系统怎么定价?
- 微服务: 立志做个伟大的项目
- 查询毕业证书的(学信网查)
- 人工智能轨道交通行业周刊-第25期(2022.11.28-12.4)
- 【Bioinfo Blog 013】【R Code 011】——甲基化芯片数据分析(ChAMP包)
- 更好的确保企业数据安全,华为云数据灾备解决方案更便捷
- 世相科技:引领新媒体时代的潮水方向
热门文章
- 如何使用Redux-saga和ReactDnD测试React和Redux(哇!)
- java redis 主从 哨兵_Redis主从复制与哨兵机制
- php hasattribute,PHP DOMElement hasAttribute()用法及代码示例
- (C++)1029 旧键盘
- Oracle可变数组实例说明
- 在UI设计中如何正确使用颜色
- mysql的profile_Mysql分析-profile详解
- syslog打印不带等级_printk的日志级别和控制台级别
- Jmeter 使用自定义变量
- cin、cout的重载