java局部变量和成员变量html
在java中,局部变量必须初始化;成员变量能够不用初始化,系统自动初始化。java
class A{ int a; //成员变量 public static void main (String args){ int b; //局部变量 } }
区别:spa
1)成员变量在类中,局部变量在方法中code
2)声明成员变量时能够不初始化(被final修饰且没有static的必须显式赋值),而局部变量必须手动初始化htm
3)成员变量能够被public、protected、private、static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;二者均可以定义成final型对象
4)成员变量存储在堆,局部变量存储在栈blog
5)存在时间不一样get
类变量、实例变量、局部变量编译
类变量是类中独立于方法以外的变量,用static修饰;class
实例变量也是类中独立于方法以外的变量,不过没有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点区别:
一、在外部调用静态方法时,能够使用"类名.方法名"的方式,也能够使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法能够无需建立对象。
二、静态方法在访问本类的成员时,只容许访问静态成员(即静态成员变量和静态方法),而不容许访问实例成员变量和实例方法;实例方法则无此限制。三、程序的static块只能调用静态方法,不能调用实例的方法。若是要追溯其区别的根源,能够这样理解:在编译期间静态方法的行为就已经肯定,而实例方法只有在运行期间当实例肯定以后才能肯定