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

来源:互联网 发布:java 精确毫秒后6位 编辑:程序博客网 时间:2024/05/22 03:37

在类和方法中都可定义属于自己的变量,类中定义的变量是成员变量,而方法中定义的变量是局部变量。

它们之间区别:

•从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public、private、static等修饰符所修饰,而局部变量则不能被访问控制修饰符及static所修饰;成员变量和局部变量都可以被final所修饰。
•从变量在内存中的存储方式上看,成员变量是对象的一部分,而对象是存在与堆内存的,而局部变量是存在于栈内存的。
•从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在。而局部变量随着方法的调用而产生,随着方法调用的结束而自动消失。
•成员变量如果没有被赋初值,则会自动以类型的默认值赋值(有一种情况例外,被final修饰但没有被static修饰的成员变量必须显式赋值);而局部变量则不会自动赋值,必须显式的赋值后才能使用。
0 0
原创粉丝点击