什么时候成员变量声明为实例变量:
所有对象都有这个属性,但是这个属性值会随着对象的变化而变化
什么时候成员变量声明为静态变量:
所有对象都有这个熟悉,并且所以对象的这个属性值都是一样。
静态变量再类加载的时候初始化,内存在方法区中开辟。访问的时候不需要创建对象,直接只用类名.属性调用
public class demo {
public static void main(String[] args) {
System.out.println(Chinese.country);
}
}
关于static关键字:
1、static修饰的方法是静态方法
2、static修饰的变量是静态变量
3、所以static修饰的元素都是静态的,都是可以用(类名.)的方式访问,也可以用(引用.)的方式访问
静态代码块
格式:static{……}
*静态代码块在类加载时执行,并且只执行一次。
*静态代码块在一个类中可以写多个,并且遵循自上而下的顺序依次运行
*静态代码块有什么用,用在哪里?什么时候用?
-这和自身的需求有关,例如项目中要求在类加载的时刻执行代码完成日志的记录。那么这段日子的代码可以写到静态代码块中。
-静态代码块是为java程序员准备的一个特殊的时刻,这个特殊的时刻被称为类加载时刻。