static的使用以及内存图
使用
修饰符,直接在所需的成员变量或者成员方法前使用。
一般用于一个类的对象中有一些共有的属性,方便于统一修改和维护,保证了信息的一致。
内存图
方法区中存放的是.class文件的代码信息,其中有一块静态区用于存放static变量。
new中来的对象是存放在堆中,因为静态成员变量是属于类的,不属于对象,所以在对象中没有存放静态成员变量。而静态成员变量是存放在方法区中的静态区。直接通过类名查找(也可以使用对象查找,不过不推荐)。
静态代码块
静态代码块的格式是:
public class类名称{
static {
//静态代码块的内容
}
}
特点:当第一次用到本类时,静态代码块热行唯一的一次。
静态内容总是优先于非静态,所以静态代码块比构造方法先执行。
静态代码块的典型用途:
用来一次性地对静态成员变量进行赋值。