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

xiaoxiao2021-02-28  39

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

首先,我们需要去了解一下什么是成员变量,什么是局部变量,以及这两者之间有什么区别或者它们之间的共同点

成员变量 实例变量、类变量、常量都属于成员变量,是在类里定义的变量,这些变量是属于这个和类的,

局部变量 在方法中定义的变量,

两者的区别 局部变量描述的是这个方法体内的属性,而成员变量描述的是这个对象的属性

成员变量可以被public、protected、default、private、static、final修饰符修饰 局部变量可以被final修饰,但不能被public、protected、default、private、static、final修饰符修饰 (局部变量,顾名思义只在局部的范围中有效,不能加与权限进行对范围的控制)

成员变量是在堆里创建的,而局部变量是在栈中进行创建的

成员变量有系统默认值 局部变量没有系统默认值,必须手动赋值

生命周期不同

共同点 局部变量与成员变量都是用来存储数据的 注:局部变量与成员变量可以相同,但是访问的方式不一样

成员变量与局部变量相同时如何进行访问

例如:

package object; /** * 成员变量与局部变量相同时如何进行访问 * @author Administrator * */ public class Test { //定义成员变量 int i = 5; //定义静态成员变量 static int a = 7; public static void main(String[] args) { //定义局部变量 int i = 6; System.out.println("局部变量为"+i);//6 //创建Test对象 Test t = new Test(); //通过对象.的形式进行非静态成员的访问 System.out.println("成员变量为"+t.i);//5 //通过类名.的形式进行方法静态变量的访问 System.out.println("成员变量为"+Test.a);//7 } }

在方法中访问局部变量可以直接进行访问 访问成员变量时可以通过 对象.成员变量 去访问 (当用static修饰的成员变量时,我们称之为静态成员变量(也称之为类变量) 可以通过类名.成员变量形式进行访问,当然也可以通过对象.的形式进行访问)

转载请注明原文地址: https://www.6miu.com/read-2624979.html

最新回复(0)