用关键字static修饰的变量和方法称为静态变量和静态方法。静态变量和静态方法可以被本类或者其他类调用。
一、创建、引用静态变量和静态方法
![](https://i-blog.csdnimg.cn/blog_migrate/c09aae9554392418e075ee47888a3863.png)
二、静态类的进一步理解
![](https://i-blog.csdnimg.cn/blog_migrate/6975cf85166f1b6bc75d569f236fba72.png)
以上图为例,x静态变量也可以理解为内存空间中只有一个内存用于存储x的值,当创建Demo a并赋值时,此时内存中存在两个空间分辨存储x=13,y=14,;再次创建Demo b并赋值时,原先存储x=13的空间被赋值为x=5,demo b的y=20被新分配了一个内存空间,此时内存中存在三个空间分别存储x=5,y=14,y=20。
三、静态类提供共享数据或方法
![](https://i-blog.csdnimg.cn/blog_migrate/3971a3c361d3baadb4521c0997068333.png)
四、创建一个水池类,在类中先定义一个静态变量是水池中的水量,并初始化为0;再定义两个静态方法,即注水(每次注入3个单位)方法和放水(每次放水2个单位)方法,通过这两个方法控制水量。
![](https://i-blog.csdnimg.cn/blog_migrate/eae850b6cb5c7621020ab3c1c2495e8b.png)
基于以上程序,放水和注水均做了传参的处理,代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/a5988f4b69b78af64e92f4ffb632b673.png)
执行结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/ef90e02c5d905acb01ead1b3168ce4e1.png)
以下代码学习存疑:
![](https://i-blog.csdnimg.cn/blog_migrate/c088acef098635baa45a076e6c87ec7d.png)