static表示“全局”或“静态”的意思,可用于修饰变量或方法,也可以形成静态static代码块。
1-static变量(类变量或静态变量)
静态变量在内存中只有一个拷贝(节省内存)JVM在加载类的过程中完成静态变量的内存分配,并且只有这一次分配。
实例变量则每创建一个实例,就会为变量分配一次内存,实例变量在内存中可以有多个拷贝,互不影响(灵活)
2-static 方法
因为static方法独立于任何实例,因此static方法必须被实现,而不能使abstract。
3-static代码块
静态代码块位于类成员的static语句块,可以有多个,位置也可以随便放,它不在任何方法体内,JVM加载类时会执行这些静态代码块,如果static代码块有多个,JVM将按照他们在类中的先后顺序执行他们,每个代码块只会被执行一次
1-static变量(类变量或静态变量)
静态变量在内存中只有一个拷贝(节省内存)JVM在加载类的过程中完成静态变量的内存分配,并且只有这一次分配。
实例变量则每创建一个实例,就会为变量分配一次内存,实例变量在内存中可以有多个拷贝,互不影响(灵活)
2-static 方法
因为static方法独立于任何实例,因此static方法必须被实现,而不能使abstract。
3-static代码块
静态代码块位于类成员的static语句块,可以有多个,位置也可以随便放,它不在任何方法体内,JVM加载类时会执行这些静态代码块,如果static代码块有多个,JVM将按照他们在类中的先后顺序执行他们,每个代码块只会被执行一次