Java变量作用域

说到Java变量的作用域,就要说到有几种Java的变量:

  • 类变量 - 由static修饰;
  • 实例变量  - 必须要new出一个实例才能使用的变量,可以不做初始化。如果没有初始化,值为默认。数值类型的默认值都是0(0,  0.0, \u0000), 布尔类型的默认值为false; 除此之外的默认值都是null
  • 局部变量 -  e.g.定义在方法里的变量
package superlily;

public class Demo03 {
    static int i;  //类变量
    String s;    //实例变量
    static char c;
    static boolean b;


    public static void main(String[] args) {
        int ii = 19;  //局部变量必须进行初始化赋值

        System.out.println(i); //0
        System.out.println((new Demo03()).s); //null  - 实例变量必须先new出一个实例才可以用
        System.out.println(c); //
        System.out.println("\u0000");//
        System.out.println(b); //false

        System.out.println(ii); //局部变量必须进行初始化赋值才能使用
    }
}

如果局部变量ii没有进行初始化赋值,IDEA会帮助我们报warning: 

Java变量作用域_第1张图片

你可能感兴趣的:(java)