简介
使用 static 修饰符修饰的属性(成员变量)、常量和成员方法称为静态变量、常量和方法,它们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就可以根据类名在运行时数据区的方法区内找到它们。
图解
一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。
如果没有static关健字,那么必须首先创建对象,然后通过对象才能使用它。
重点
静态不能直接访问非静态。
原因:因为在内存当中是【先】有的静态内容,【后】有的非静态内容。
内存情况
静态代码块
public class Demo{
static{
}
}
//特点:1.当第一次用到本类时,静态代码块执行一次,且只执行一次,之后调用此类将不会执行静态代码块。
//2.静态内容先执行,即静态内容优先于构造方法执行。
用途:对成员变量统一赋值