1、静态方法:
在一个类中定义一个方法为static,则无需本类的对象即可调用此方法。
声明为static的方法只能调用其他的static方法,只能访问static数据,不能引用this或super。
2、静态变量
static变量就是全局变量,所有此类实例共享此静态变量,即在类装载时,只分配一块存储空间。
3、静态类
通常一个普通类不允许声明为静态的,只有一个内部类可以,此时,该内部类可以直接作为一个普通类使用。
4、static final
static final 修饰成员变量(不可修改,通过类名访问)
和成员方法(不可覆盖,可通过类名直接访问),
即“全局常量”
在一个类中定义一个方法为static,则无需本类的对象即可调用此方法。
声明为static的方法只能调用其他的static方法,只能访问static数据,不能引用this或super。
2、静态变量
static变量就是全局变量,所有此类实例共享此静态变量,即在类装载时,只分配一块存储空间。
3、静态类
通常一个普通类不允许声明为静态的,只有一个内部类可以,此时,该内部类可以直接作为一个普通类使用。
4、static final
static final 修饰成员变量(不可修改,通过类名访问)
和成员方法(不可覆盖,可通过类名直接访问),
即“全局常量”
static修饰的代码块表示静态代码块,当java虚拟机(JVM)加载类时,就会执行该代码块。
static修饰的变量在内存中只有一个拷贝,JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配。
不被static修饰的为实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。
不被static修饰的为实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。