Java易混淆的概率:成员变量、类变量、实例变量、局部变量

先看代码

1
2
3
4
5
6
7
8
9
10
11
12
13
public  class  Variable{
 
      int  b= 0 ;    //实例变量
 
      static  int  a= 0 ;     //类变量
      
      final  String c= "wws" //常量   
 
      public  void  test(){
         int  d = 0 ; //局部变量
      }
 
}

  

(1)代码中的实例变量、类变量、常量都属于成员变量

 

(2)类变量:方法体外、带static
属于该类所有实例共有的属性,在内存中只有一个地方存储这个变量。
而且所有的实例都可以修改这个类变量的值(前提是这个类变量没有被final修饰,否则是常量了)
访问类变量的时候不用实例,直接用类就可以了。

 

(3)实例变量
属于该类创建某个实例,某个实例中共有的属性

 

(3)局部变量
方法体中定义的变量,只在定义它的方法中有效.