static 静态成员变量
当一个类的成员变量是静态成员变量时,可以直接用类名来调用变量,可以不用对象来调用了。
可以直接用类名调用。
这里有一点要注意,静态成员变量和普通变量不只有这样点区别。
下面为重点:
这个是普通变量对应的图,如何p1.i的值改变了,p2.i的值是不受影响的。
但是如果i被定义为static时,所以的对象使用的静态对象是同一份的!
这时,如果通过调用类名或者通过调用对象把静态成员变量改了,全部的都会变。
静态变量不是对象层次的变量,而是类层次的变量。
静态函数:
定义
static void XXX()
{}
静态函数和静态变量一样,都是可以直接用类名直接调用;
静态函数不能使用非静态变量!
静态代码块:
没名字
静态代码块在装载这个类的时候直接执行,不用调用,不用main函数
用的比较少;