static 属于 Java 中非常重要的一个关键字,也是使用非常多的一个关键字,另外在面试的过程中也经常被问到,今天我们单拿出来仔细分析,搞清楚 static 在编程中的的基本使用
static 关键字主要有两种作用:
第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关
第二,实现某个方法或属性与类而不是对象关联在一起,也是就说,在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性,具体而言,在 Java 语言中,static 主要有 4 种使用情况:成员变量、成员方法、代码块和内部类
接下来我们就把这 4 中情况来一一介绍
一、static 成员变量
虽然 Java 语言中没有全局的概念,但可以通过 static 关键字来达到全局的效果,Java 类提供了两种类型的变量:用 static 关键字修饰的静态变量和不用 static 关键字修饰的实例变量,静态变量属于类,在内存中只有一个赋值(所有实例都指向同一个内存地址),只要静态变量所在的类被加载,这个静态变量就会被分配空间,因此就可以被使用了,对静态变量的引用有两种方式,分别为“类.静态变量”和“对象.静态变量”
实例变量属于对象,只有对象被创建后,实例变量才会被分配空间,才能被使用,它在内存中存在多个赋值,只能用“对象.实例变量”的方式来引用,一下是静态变量和实例变量的使用示例:<