static关键字
带有static的方法,其实既可以采用类名的方式访问,也可以采用引用的方式访问。
但是即使采用引用的方式去访问,实际上执行的时候和引用指向的对象无关。
使用引用的方式访问带有static的方法时,程序可能会报错
所以带有static的方法还是建议使用“类名.”的方式访问。
new的对象的地址在栈内存中,值在堆内存中
针对所有对象都有的属性,就在属性前加一个Static修饰,该属性/方法就是静态的。是类级别的属性/方法。
静态变量存储在方法区内存中。静态变量可以被直接使用,也会被重新赋值。
什么时候成员变量声明为实例变量呢?
————所有对象都有这个属性,但是这个属性会随着对象的变化而变化[不同对象的这个属性具体的值不同]
什么时候成员变量定义为静态变量呢?
————所有对象都有这个属性,但是这个属性的值都是一样的,建议定义为静态变量,节省内存的开始。
静态变量,静态变量在类加载的时候初始化,不需要创建对象,内存就开辟了。直接使用“类名.静态变量名”的方式访问。
采用引用.的方式访问的时候,即使引用的是null,也不会出现空指针异常。因为访问静态的数据不需要对象的存在。
1.静态代码块的语句结构
static{
java语句
}