成员变量和局部变量的区别

局部变量:
指在程序中,只在特定过程或函数中可以访问的变量,
是相对与全局变量而言的。在面向过程和面向对象编程语言中均有,
是程序中最常见最常用的变量。
成员变量:
在类体的变量部分中定义的变量,也称为属性。几乎只出现在面向对象编程语言中。
案例1:
void main(){       
 int test = 0; //局部变量       
 printf("%d", test);
}
案例2:
public class Clothes {
 String id; //实例变量
 private String colorType; //实例变量
 private int size; //实例变量
 private static String depart; //类变量
 final String design="yangzi"; //常量
}
代码中的实例变量、类变量、常量都属于成员变量,
那么其区分的依据是什么?这与变量的修饰符有关系,也就是上面代码中的private、static、final等修饰符。
成员变量的修饰符见表5-1。    
表5-1 成员变量的修饰符    
修饰符   说明  
public   成员变量可以被项目中的任何方法访问,建议尽量少用  
protected   不在同一个包中的类不能访问,但子类可以访问  
private   只能在同一个类中使用  
static   类变量,其值为该类的所有对象共享,不会因类的对象不同而不同  
final   最终成员变量,其值保持不变,即常量  
transient   当对象被持久化时(例如写入数据库),该成员变量的值不需要保存  
volatile   同步多线程访问的成员变量的值,以便使不同的线程总是得到该成员变量的同一个值.关于线程

猜你喜欢

转载自minyongcheng.iteye.com/blog/2322929