1、静态变量 static
什么是静态变量:从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用static。
静态变量的优点:1、节省内存。静态变量只存储一处,但供所有对象使用。
2、它的值是可以更新的。
3、可提高时间效率。只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。
在objective-c中,需要在.m文件里面定义个static变量来表示全局变量,
static变量只是在编译时候进行初始化,对于static变量,无论是定义在方法体里面 还是在方法体外面其作用域都一样,
也就是说这个变量值要么为nil,要么在编译期就可以确定其值,一般情况下,只能用NSString或者基本类型。
2、全局变量extern
什么是全局变量:也称之为外部变量,是在方法外部定义的变量。它不属于哪个方法,而是属于整个源程序。
作用域是整个源程序。
如果全局便利和局部变量重名,则在局部变量作用域内,全局变量被屏蔽,不起作用。编程时候尽量不使用全
局变量。
3、局部变量
什么是局部变量:是在方法内作定义说明的。其作用域仅限于方法内。
4、实例变量
在类中定义的实例变量,是可以在各个方法内使用的。
5、const 变量值不可变
6、volatile 表示变量随时可以改变