目录
static关键字特点
- 随着类的加载而加载
- static修饰的变量和方法都会放在方法区中静态区,是属于类的。
- 静态变量属于类不属于对象
- 对象也可以使用静态变量
- 当没有对象时可以直接用类来调用静态变量
- 被类的所有对象共享
静态的内容存在于方法区的静态区
static的使用
- 可以通过类名调用
- 类名.静态变量
- 类名.静态方法
public class TestStatic { public static void main(String[] args) { // 类名.静态变量 System.out.println(Dog.species); //类名.静态方法 Dog.bark(); }}class Dog{ static String species = "animal"; String color; static public void bark(){ System.out.println("wangwangwang..."); }}
静态代码块
- 不包含在任何方法中的静态代码块(static block)。
- 作用:用来初始化类的静态成员变量。
public class TestStatic { public static void main(String[] args) { System.out.println(Dog.color); }}class Dog{ //静态变量 static String color; //静态代码块(只能初始化静态变量,不能初始非静态变量!) static{ color = "棕色"; }}
- 特点:
- 在类中方法外出现,并加上static修饰。
- 在加载的时候就执行,并且值执行一次
static修饰与非static修饰的区别
总结:
以上