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

变量的种类

根据定义位置的不同,我们给变量起了不同的名字。如下图所示:

?

在类中的位置不同 

  • 成员变量:类中,方法外
  • 局部变量:方法中或者方法声明上(形式参数)

作用范围不一样 

  • 成员变量:类中
  • 局部变量:方法中

初始化值的不同 

  • 成员变量:有默认值
  • 局部变量:没有默认值。必须先定义,赋值,最后使用

在内存中的位置不同 

  • 成员变量:堆内存
  • 局部变量:栈内存

生命周期不同 

  • 成员变量:随着对象的创建而存在,随着对象的消失而消失
  • 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

代码举例

package demo03;
/*
局部变量和成员变量

1. 定义的位置不一样【重点】
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类当中

2. 作用范围不一样【重点】
局部变量:只有方法当中才可以使用,出了方法就不能再用
成员变量:整个类全都可以通用。

3. 默认值不一样【重点】
局部变量:没有默认值,如果要想使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样

4. 内存的位置不一样(了解)
局部变量:位于栈内存
成员变量:位于堆内存

5. 生命周期不一样(了解)
局部变量:随着方法进栈而诞生,随着方法出栈而消失
成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失
 */
public class Demo01VariableDifference {

    String name; // 成员变量

    public void methodA() {
        int num = 20; // 局部变量
        System.out.println(num);
        System.out.println(name);
    }

    public void methodB(int param) { // 方法的参数就是局部变量
        // 参数在方法调用的时候,必然会被赋值的。
        System.out.println(param);

        int age; // 局部变量
//        System.out.println(age); // 没赋值不能用

//        System.out.println(num); // 错误写法!
        System.out.println(name);
    }

}

原文地址:https://www.cnblogs.com/wurengen/p/11025809.html

时间: 2024-08-26 13:04:42

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

《java中局部变量和成员变量的区别》

1 class Car 2 { 3 String color; 4 int number; 5 6 void run() 7 { 8 System.out.println(color+"::"+number); 9 } 10 } 11 12 class CarDemo 13 { 14 public static void main(String[] agrs) 15 { 16 Car c = new Car();//c是类类型的变量. 17 //c.color = "blue

JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别

黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看  JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方法之内. 作用上的区别: 1. 成员变量的作用是用于描述一类事物的公共 属性的. 2. 局部变量的作用就是提供一个变量给方法内部使用而已. 生命周期区别: 1. 随着对象 的创建而存在,随着对象的消失而消失. 2. 局部变量在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出了自己的作

java中局部变量和成员变量的区别?

在类中的位置不同 成员变量:成员位置---在类中,方法外定义的变量 局部变量:在方法定义中,或者方法声明上的变量 在内存中的位置也不同 成员变量:在堆内存中 局部变量:在栈内存中 生命周期不同 成员变量:随着对象的创建而存在,随着对象的回收而消失 局部变量:随着方法调用而存在,随着方法的调用完毕而消失 初始化不同 成员变量:跟对象相关的,描述一个对象的属性(成员变量存在一个系统 默认初始化),当然也可以直接赋值 局部变量: 在使用之前,必须初始化,否则编译不通过 原文地址:https://blo

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

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

成员变量、局部变量、静态变量的区别及

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

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

============================================================================= 1)静态变量和成员变量的区别: (1):所属不同: 静态变量:属于类,也称为类变量. 成员变量:属于对象,也称为对象变量或实例变量. (2):在内存中的位置不同: 静态变量:存储于方法区的静态区. 成员变量:存储于堆内存. (3):生命周期不同: 静态变量:静态变量是随着类的加载而加载,随着类的消失而消失. 成员变量:成员变量是随着对象的创建

JAVA基础之局部变量与全局变量以及成员变量的区别

局部变量 定义:在方法内定义的变量称为"局部变量"或"临时变量",方法结束后局部变量占用的内存将被释放. 全局变量 定义:全局变量,又称"外部变量",它不是属于哪个方法,作用域从定义的地址开始到源文件结束. 注意事项: 当局部变量与全局变量重名时,起作用的是局部变量. 成员变量 定义:在类体的变量部分中定义的变量,也称为字段. 区别: java中没有全局变量的定义,这是C中的例: class Demo{ int x;// 非静态成员变量,又称为属

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

package java04; /* 局部变量和成员变量的不同: 1.定义的位置不一样 局部变量:定义在方法内部 成员变量:在方法外部,直接写在类中 2.作用范围不一样 局部变量:只有方法中能使用,除了方法就不能用 成员变量:整个类都可以用 3.默认值不一样 局部变量:无默认值,先赋值在使用 成员变量:如果没有赋值有默认值 4.内存的位置不一样 局部变量:位于栈内存 成员变量:为于堆内存 5.生命周期不一样 局部变量:随着方法的进栈而诞生,随着方法出栈而消失 成员变量:随着对象的创建而诞生,随着

java局部变量与成员变量相关问题总结

java局部变量与成员变量相关问题总结 2013-02-03 12:39 156人阅读 评论(0) 收藏 举报 一.Java中的所有变量可以分成局部变量和成员变量.他们的区别: 1. 定义 成员变量:在类体里面定义的变量称为成员变量: 局部变量:形参.方法.代码块中定义的变量,都属于局部变量. (注:局部变量定义必须在方法里面!) 2. 详细分类 成员变量:1)类变量(静态变量)——有static修饰: 2)实例变量(非静态变量)——没有static修饰. 局部变量:1)形参——方法签名中定义的