首页 > 代码库 > 成员变量 局部变量

成员变量 局部变量

java局部变量和成员变量

在java中,局部变量必须初始化;成员变量可以不用初始化,系统自动初始化。

class A{  int a; //成员变量  public static void main (String args){          int b; //局部变量  }}

区别:

1)成员变量在类中,局部变量在方法中

2)声明成员变量时可以不初始化(被final修饰且没有static的必须显式赋值),而局部变量必须手动初始化

3)成员变量可以被public、protected、private、static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型

4)成员变量存储在堆,局部变量存储在栈

5)存在时间不同

 

类变量、实例变量、局部变量

类变量是类中独立于方法之外的变量,用static修饰;

实例变量也是类中独立于方法之外的变量,不过没有static修饰;

局部变量是的方法中的变量

public class Variable{         static int allClicks=0;//类变量         String str="hello world";//实例变量         public void method(){            int i =0;//局部变量         }    }  

实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。
final用于常量的声明,规范要求常量的变量名是大写的。

static静态变量:

http://www.cnblogs.com/dongzhiquan/archive/2009/07/21/1994792.html

 静态方法和一般方法的区别:

从使用上来说,主要有3点区别:
1、在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

2、静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

3、程序的static块只能调用静态方法,不能调用实例的方法。

如果要追溯其区别的根源,可以这样理解:在编译期间静态方法的行为就已经确定,而实例方法只有在运行期间当实例确定之后才能确定

成员变量 局部变量