【java】static的用法

static关键字的三种使用情况:

1、静态成员变量

静态成员变量可以直接用类名来调用,也就是说不用对类进行实例化,即生成对象,就可以对成员变量进行调用。当然也可以通过对象名来调用。

static成员变量被多个对象同时共用,也就是这些对象的static变量都指向同一块内存空间

【所有的对象使用的静态变量是同一份】所以修改的时候要注意。

【感觉很像不同对象之间的全局变量】

【mars这样理解】静态变量属于类这一层次的,比对象这一层次要高,所有的对象是由类生成的,使用的都是同一个静态变量

2、静态函数

静态函数也是可以直接用类名来调用。

静态函数中不能使用非静态的成员变量。

【因为静态函数可以直接用类名来调用,如果使用非静态的成员变量的话,肯定是不可以的。因为非静态的成员变量

要通过对象的来进行调用,这也进一步解释了为什么this不能在static中使用,因为这个this没有所指向的对象,

this是指调用这个函数的对象,因为没有对象,所以不能使用this】

3、静态代码块

写法: 

static{    代码块    }

没有名字。静态代码块在装载类的时候就会执行。

作用是对静态变量进行初始化。


你可能感兴趣的:(java学习)