static关键字的作用

static可以定义静态成员变量、静态函数、静态代码块

   

1.静态成员变量的语法特点

与普通成员变量的区别:

可以直接用类名.变量名给变量赋值

普通成员变量:修改其中一个成员变量的值,不会影响到其它成员变量的值

如下:

静态成员变量:所有对象使用的静态变量的值都是同一个

   

   

修改其中一个对象的静态成员变量,都会造成其它的对象的静态成员变量发生改变

静态成员变量不是属于某一个对象的变量,而是属于这个类的变量

2.静态函数的语法特点

在函数前面加上static关键字

静态变量和静态函数的相同点:

都可以用类名.xxx来调用

静态函数的第二个特征:

在静态函数中不能直接使用非静态的成员变量

为什么在静态的成员函数中不能使用非静态的成员变量?

假如可以在静态成员函数中使用非静态的成员变量,怎么解释下图中的this

之前所说,this代表了调用了这个函数的对象,但是静态函数是直接用类名来调用的,这个时候是没有对象的,所以此时的this没法解释

若不带this,则name也没法解释,因为它不是任何对象的变量

3.静态代码块的语法特点

Static{

}

静态代码块在装载类的时候执行

静态代码块的作用是为静态变量赋初始值

posted @ 2017-04-17 14:21  LuBoom  阅读(225)  评论(0编辑  收藏  举报