成员变量与局部变量区别

成员变量:作为类的成员而存在,直接存在于类中。所有类的成员变量可以通过this来引用。

class A {

int a;//成员变量 
public static void main(String[] args) {

this.a=3;

}

局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。

public void change1(int i){

i = 1234;

}

 区别

  1. 成员变量可以被 public,protect,private,static等修饰符修饰

局部变量不能被控制修饰符及 static修饰;

两者都可以定义成final型。(控制修饰符:public,protect,private等)

  1. 成员变量存储在堆,成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它。如果访问权限允许,还可以在类的外部使用成员变量。

局部变量存储在栈,局 部变量的作用域仅限于定义它的方法,在该方法的外部无法访问它。

3.  成员变量,如果是实例成员变量,它和对象的生存期相同。而静态成员变量的生存期是整个程序运行期。

局部变量的生存周期与方法的执行期相同。 当方法执行到定义局部变量的语句时,局部变量被创建;执行到它所在的作用域的最后一条语句时,局部变量被销毁。

4.  成员变量有默认值,基本类型的默认值为 0,复合类型的默认值为null。(被final修饰且没有static的必须显式赋值)

局部变量不会自动赋值,所以局部变量在定义后先要赋初值,然后才能使用。

注意点:局部变量可以和成员变量同名,且在使用时,局部变量具有更高的优先级。

时间: 2024-08-10 19:18:35

成员变量与局部变量区别的相关文章

java类与对象_成员变量和局部变量区别

成员变量和局部变量:1.成员变量:再类中定义,用来描述对象将要有什么.2.局部变量:在类的方法中定义,在方法中临时保存数据.区别:1.作用域不同:  局部:仅限于定义它的方法  成员:整个类中都是可见的2.初始值不同的  局部:Java不会给局部变量赋予初始值  成员:Java给成员变量赋予初始值,03在同一个方法中不允许有同名的局部变量:不同的方法中可以有同名的局部变量4.两类变量同名时,局部变量有更高的优先级(就近原则)

07_面向对象(成员变量和局部变量区别、类作为形式参数的问题、匿名对象、封装、private关键字、this关键字、构造方法、成员方法、static关键字、静态变量和成员变量、main方法)_02

7:构造方法(掌握)    (1)作用:用于对对象的数据进行初始化    (2)格式:        A:方法名和类名相同        B:没有返回值类型,连void都不能有        C:没有返回值                思考题:构造方法中可不可以有return语句呢?        可以.而是我们写成这个样子就OK了:return;        其实,在任何的void类型的方法的最后你都可以写上:return;    (3)构造方法的注意事项        A:如果我们没写构

成员变量和局部变量区别

1.定义 成员变量在类中定义 局部变量在方法中定义 2.作用域 成员变量可以被本类和其他类中的方法调用 局部变量只能在定义自己的方法中调用 3.初始值 成员变量程序默认会赋予其初始值 局部变量程序不会赋予其初始值,必须程序员自己指定 4. 在同一个方法中,不允许有同名局部变量 在不同方法中,允许有同名局部变量 5.   两变量同名时,局部变量优先级更高 1 public class Var { 2 3 int var;//成员变量,系统默认赋予其初始值,定义在类中 4 5 public void

Java中成员变量和局部变量区别

在类中的位置不同 重点 成员变量:类中,方法外 局部变量:方法中或者方法声明上(形式参数) 作用范围不一样 重点 成员变量:类中 局部变量:方法中 初始化值的不同 重点 成员变量:有默认值 局部变量:没有默认值.必须先定义,赋值,最后使用 在内存中的位置不同 了解 成员变量:堆内存 局部变量:栈内存 生命周期不同 了解 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 原文地址:https://www.cnblogs.com/libi

Java基础——成员变量、局部变量和静态变量的区别

之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量.局部变量和静态变量.变来变去太容易让人搞晕了,挑拣出来梳理一下喽! 要想区分这哥仨,首先,我们得知道它们分别是什么.先从成员变量下刀. 成员变量 我们来研究一个事物: 属性:外在特征:例如人的身高,体重 行为:能够做什么:例如人有说话,打球等行为. 而在Java语言中,最基本的单位是类,类就是用来体现事物的. 用类class来描述事物也是如此: 属性:对应类中

数组 面向对象 成员变量和局部变量额区别

一.数组 1.数组中常见的错误: 1.NullPointerExcepation : 空指针异常 原因:引用的类型变量没有指向任何的对象,在这种情况下还访问了它的属性和方法. 一个对象如果使用完了不会立马释放,只是将这个对象变为一个垃圾对象,由垃圾回收机制自己来释放.,我们没办法操作它释放. 2.ArrayIndexOutOfBoundsExcepation :数组下表越界. 二.面向对象 1.java也属于面向对象编程 : 2.面向对象的三大特征 : 封装,继承,多态.类,对象. 3.对象 :

成员变量和局部变量,静态变量的区别

成员变量和局部变量,静态变量的区别 1.成员变量和局部变量的区别 1)在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 2)在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) 3)生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 4)初始化值不同 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须定义,赋值,

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

/* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 D:初始化值不同 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用. 注意事项: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则

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

成员变量与局部变量的联系与区别:a)无论是成员变量还是局部变量,使用前都需要声明( 定义).b) 对于局部变量来说,使用前必须要初始化:对于成员变量来说,使用前可以不初始化.如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个默认的初始值 i. byte.short.int.long 类型的初始值为 0 ii. float. double 类型的初始值为 0.0 iii. char 类型的初始值'\u0000' iv. boolean 类型的初始值为 false 引用类型( refe