成员变量定义在类中,在整个类中都可以被访问
成员变量随着对象的建立而建立,随对象的消失而消失,存在于对象所在的对内存中
成员变量有默认初始值
局部变量:
定义在方法中或方法的参数列表(或者语句中)
存在于栈内存中,作用的范围结束,变量空间自动释放
默认没有初始化值,使用时需要进行初始化
静态变量又称类变量:用static修饰
存储在方法区中
随着类的加载而存在,随着类的消失而消失
可以由类名或对象调用
伪代码说明
public class Variable{static int a = 0 //类变量
String b = "hello world"//实例变量
public void method(){
int c = 0 //局部变量
}
}
静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
具体来说:
一、实例字段要实例化才能使用,没有实例化不能使用。静态字段反之。如:
name字段的使用:
cla1
i
=
new
cla1()
i.name
=
"张三"
sex字段的使用:
cla1.sex
=
"男"
二、普通字段要在实例化时候才分配内存空间,而静态字段在装载程序集的时候就分配内存空间了。