JAVA的局部变量和成员变量的区别是什么?

如题所述

第1个回答  推荐于2019-08-17
在方法内部可以定义变量,被称为局部变量。局部变量的一般形式如下
[变量修饰符] 变量类型 变量名;
变量修饰符可以是final,表示这是常量。
变量类型可以是Java中任意合法的基本类型或复合类型。
变量名是用户自定义标识符,遵循标识符的一般规则。
可以在一行中定义多个局部变量,以逗号分隔。
定义变量时可以同时赋初值。
局部变量必须要先定义后使用。
例如,下面就是一些局部变量的定义:
final double PI = 3.1416;
int ix, iy;
final int MAIL = 0;
从形式上看,局部变量和类的成员变量十分相似,但在使用上它们的区别很大。
局部变量没有访问权限修饰符,不能用public、private和protected来修饰。这是因为它只能在定义它的方法内部使用。
局部变量不能用static修饰,没有"静态局部变量",这是Java和C/C++的一个细微差别。
系统不会自动为局部变量赋初值,但对于成员变量,系统会自动赋初值。基本类型的值为0,复合类型的值为null。
局部变量的作用域仅限于定义它的方法,在该方法的外部无法访问它。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它。如果访问权限允许,还可以在类的外部使用成员变量。
局部变量的生存周期与方法的执行期相同。当方法执行到定义局部变量的语句时,局部变量被创建;执行到它所在的作用域的最后一条语句时,局部变量被销毁。类的成员变量,如果是实例成员变量,它和对象
的生存期相同。而静态成员变量的生存期是整个程序运行期。
在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量,它们互不干涉。
局部变量可以和成员变量同名,且在使用时,局部变量具有更高的优先级。
【例3.12】 局部变量使用示例。
//-----------文件名localVariable.java,程序编号3.22-----------------
public class localVariable{
public void method_1(){
int va = 0; //正确
public int pva; //错误,不能有访问权限
static int sa; //错误,不能是静态的
final int CONST = 10; //正确,可以是常量
double va =0.0; //错误,与前面的va同名
vb = 100.0; //错误,vb还未定义
double vb;
vb = 100.0; //正确,现在可以使用了
}
public void method_2(){
va = 0; //错误,method_1()中的变量va在此不可用
int CONST = 100; //正确,它与method_1()中的CONST不同
}
}
【例3.13】 局部变量与成员变量同名问题示例。
//-----------文件名localVSmember.java,程序编号3.23-----------------
public class localVSmember{
private int iVar = 100;
public void method_1(){
int iVar; //正确可以与成员变量同名
iVar = 200; //这里访问的是局部变量
his.iVar = 300; //这里访问的是成员变量
}
public void method_2(){
iVar = 400; //这里访问的是成员变量
}
}
在程序3.23中,同名的局部变量会屏蔽掉成员变量。为了访问被屏蔽的成员变量,需要使用一个前缀"this",它表示的是"本对象"。本回答被网友采纳

JAVA的局部变量和成员变量的区别?
局部变量和成员变量主要是他们作用域的区别,成员变量个是类内部;局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置)。另外,成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。还有,在内存中的位置也不一样。成...

java中成员变量和局部变量的区别
1、成员变量定义在类中,在整个类中都可以被访问。2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。3、成员变量有默认初始化值。局部变量:1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。2、局部变量存在于栈内存中,作用的范围结束...

java什么是成员变量和局部变量
1、成员变量是独立于方法外的变量,局部变量是类的方法中的变量 1)、成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。2)、局部变量:包括形参,方法局部变量,代码块局部变量,存在于方法的参数列表和方法定义中以及代码块中。

java怎么区别成员变量与局部变量,怎么为他们赋值;方法重载与类的重置...
在类中根据变量创建的位置不同可以分为局部变量、成员变量(全局变量或者实例变量)、类变量。局部变量,声明在方法体、语句块中的变量。它的作用域有限,只对当前最近的一对“{ }”里面的程序体有效。注意的是,局部变量在声明后必须初始化。一般在声明时初始化最好(int x=0;)养成良好的习惯。全局...

什么是java的局部变量,成员变量,全局变量?
总的来说,定义在类里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思。定义在方法里或域里就叫做局部变量,所谓域就是{}里面,比如 public void show() { int b = 2;\/\/局部变量 if(true) { int a = 1;\/\/局部变量 } \/\/这个位置访问a,无效 } \/\/这个位置...

JAVA中成员变量,局部变量,实例变量,类变量,有什么关系,,?
int i =0; \/\/局部变量 } } 实例变量也称为:“域”,“成员变量”,在实体类或数据类中被称为“属性”或“字段”。当实例变量可以改变时,被称为对象的状态。2. final用于常量的声明,规范要求常量的变量名是大写的。3. statci 在java 里面用于对类方法和属性进行修饰,其作用是什么呢?有两种...

全局变量,局部变量,成员变量,静态变量,void,实例变量 ,遍历 ,引用,返 ...
局部变量: 变量从宣告行才实际存在, 其内容仅保存至该区块结束. C中为大括号.成员变量: 一般指称, 隶属於Class\/Object的变量 静态变量: 照宣告定义的话, 在不同语言或叙述有不同意义.- 如C: 静态变量其保存时间, 同全局变量. 但是其可视范围只存在宣告的区块中.- 如Java: Class中的静态变量, ...

Java中局部变量,静态变量和实例变量的区别
成员变量有默认初始值 局部变量:定义在方法中或方法的参数列表(或者语句中)存在于栈内存中,作用的范围结束,变量空间自动释放 默认没有初始化值,使用时需要进行初始化 静态变量又称类变量:用static修饰 存储在方法区中 随着类的加载而存在,随着类的消失而消失 可以由类名或对象调用 伪代码说明 pub...

以程序为例,讲解java中包,类,构造函数,成员变量,成员方法,重载,接口,SU...
1、认识成员变量(类或对象的状态)、类变量、实例变量、局部变量、方法参数之间的区别 成员变量(field)是没有定义在代码块(包括初始化块、成员方法)中的变量。成员变量是类变量还是实例变量取决于在其声明中是否使用了static关键字。类变量在声明是用了static关键字,它的另一个名字叫静态变量、静态...

java中引用类型有哪些
Java中的引用类型主要包括:局部变量引用、成员变量引用(字段引用)、数组引用、类引用。1. 局部变量引用:这是在方法或代码块中定义的变量所持有的引用。它们通常在方法的执行过程中创建,随着方法的结束而销毁。这些引用指向的对象可能存储在堆内存中。2. 成员变量引用(字段引用):这是在类的定义中...

相似回答