4Java中成员变量与局部变量

成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。

局部变量:包括形参,方法局部变量,代码块局部变量,存在于方法的参数列表和方法定义中以及代码块中。

1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及 static修饰;两者都可以定义成final型。

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

3.局部变量的生存周期与方法的执行期相同。当方法执行到定义局部变量的语句时,局部变量被创建;执行到它所在的作用域的最后一条语句时,局部变量被销毁。类的成员变量,如果是实例成员变量,它和对象的生存期相同。而静态成员变量的生存期是整个程序运行期。

4.成员变量在累加载或实例被创建时,系统自动分配内存空间,并在分配空间后自动为成员变量指定初始化值,初始化值为默认值,基本类型的默认值为0,复合类型的默认值为null。(被final修饰且没有static的必须显式赋值),局部变量在定义后必须经过显式初始化后才能使用,系统不会为局部变量执行初始化。

5.局部变量可以和成员变量 同名,且在使用时,局部变量具有更高的优先级,直接使用同名访问,访问的是局部变量,如需要访问成员变量可以用this.变量名访问

时间: 2024-12-06 14:34:29

4Java中成员变量与局部变量的相关文章

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

java面向对象过程中,最基本的两类变量就是成员变量和局部变量 成员变量是写在类中并且写在方法外部,一般写在每个类的头部,用于初始化或者方法操作,作用域是整个类被实例化到被销毁,中间变量都可以被外部方法(权限为public时)或者内部方法所共享使用,并且可以保持变量的值,就是多个方法可以复用该变量,成员变量一般要加权限修饰符,并且定义成员变量的时候系统会给初始值0 而局部变量作用域只在方法内部,当方法调用完毕,该变量也自动消失,并且只有方法本身可以使用,其他方法或类都不能使用该变量,也就是方法本

java中成员变量和局部变量在内存中的分配

对于成员变量和局部变量:成员变量就是方法外部,类的内部定义的变量:局部变量就是方法或语句块内部定义的变量.局部变量必须初始化. 形式参数是局部变量,局部变量中基础数据类型的引用和值都存储在栈中,对象引用存在栈中,对象存在堆中.栈内存中的局部变量随着方法的消失而消失. 成员变量存储在堆中的对象里面,由垃圾回收器负责回收. 如以下代码: class BirthDate { private int day; private int month; private int year; public Bir

Java中成员变量、局部变量、局部内部类、局部内部类方法作用域问题。

public class A { String s = "outer class member variable"; //成员变量 public void Method() { //成员方法 final String s1 = "inner class variable"; //局部变量 class InnerClass { //局部内部类 public void innerMethod() { //局部内部类方法 int test = 20; System.out

C#中成员变量和局部变量的区别

成员变量: 定义:在类中定义的变量称为成员变量 作用范围:在整个类中都有效 分类:成员变量又可分为实例变量和静态变量(加上关键字static) class test1 { int a = 33; //实例变量,在类test1中有效 static int b = 45: //静态变量,在整个程序中都有效,其他类中可以调用 } 局部变量: 定义:在方法中定义的变量称为局部变量 作用范围:当前定义的方法内有效,方法调用被销毁,不能在其他类中进行调用 原文地址:https://www.cnblogs.c

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

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

(转)成员变量和局部变量有什么区别?

class A { int a;//成员变量 public static void main(String[] args) { int b;//局部变量 } } ———————————————————————————————————————————————————————————————————————————————————————— 类体由2部分构成: 一部分是变量的定义; 一部分是方法的定义(一个类中可以有多个方法) 在变量定义部分定义的变量叫做类的成员变量,成员变量在整个类中都有效. (

在实例中说明java的类变量,成员变量和局部变量

java中一般有三种变量:类变量,成员变量和局部变量.类变量 1.下面先看类变量,看下面这个例子 public class Demo6{ public String name; public int age; public static String sex="男"; public Demo6(String name, int age){ this.name = name; this.age = age;; } public void say(){ System.out.println

随笔⑨ java中的变量 --- 类变量(静态变量),final变量,成员变量,局部变量

java中的变量 --- 类变量(静态变量),final变量,成员变量,局部变量 ① 类变量(也叫静态变量)是类中独立于方法之外的变量,用static 修饰,静态变量随着类的加载而加载. ② final变量:用final关键字修饰,不能被修改.与static一起用可表示常量. ③ 成员变量(也叫"实例变量"."域"):也是类中独立于方法之外的变量,不过没有static修饰.可以不进行初始化,Java会自动进行初始化,如果是引用类型默认初始化为null,如果是基本类型

成员变量和局部变量

成员变量和局部变量 1.变量声明的位置决定变量作用域 2.变量作用域确定可在程序中按变量名访问该变量的区域 3.成员变量:定义在类中的变量(类或其他类中可以调用) 4.局部变量:定义在方法中的变量(方法) 5.区别:a.作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内部都是可见的 b.初始值不同 Java会给成员变量一个初始值 Java不会给局部变量赋予初始值 6.在同个方法中,不允许有同名局部变量 ,在不同方法中,可以有同名的局部变量, 在同个类中,成员变量和局部变量