JAVA中局部变量 和 成员变量有哪些区别

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

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

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

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

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

public calss Demo01variableDifference{
    String name;//成员变量

    public void methodA(){
        int num=20;//局部变量 默认值为NULL
        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/battlecry/p/9373993.html

时间: 2024-08-30 00:19:23

JAVA中局部变量 和 成员变量有哪些区别的相关文章

《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中局部变量和成员变量主要是他们作用域的区别

成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定默认值:局部变量没有默认值,所以必须设定初始赋值.还有,在内存中的位置也不一样.成员变量在所在类被实例化后,存在堆内存中:局部变量在所在方法调用时,存在栈内存空间中.

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

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

什么是java的局部变量,成员变量,全局变量?

public class Test { private String name;//成员变量,也是全局变量 public void changeName() { String n = "tomoya";//n就是局部变量 name = n; }} 总的来说,定义在类里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思.定义在方法里或域里就叫做局部变量,所谓域就是{}里面,比如public void show() { int b = 2;//局部变量 if

Java 的局部变量和成员变量

在Java语言中没有全局变量  分析各种变量的作用域的最简单方法是以花括号为界, 1.在类体中定义的是成员变量,成员变量会被默认初始化 2.在方法中定义的是局部变量,局部变量不会被默认初始化

JVM存储位置分配——java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”. 根据“Java中的变量与数据类型”中的介绍,“变量是在内存中分配的保留区域的名称.换句话说,它是一个内存位置的名称”,也就是说我们通过这个变量名字就可以找到一个指向这个变量所引用的数据的内存指针,根据变量的类型我们可以知道这个指针之后的几个字节里存储了这个变量所引用的数据. 所以,了解变量在方法区.栈内存.堆内存

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

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

局部变量和成员变量

哪些变量是局部变量? 方法体中定义的 变量 和 方法的 形式参数(方法声明中) 局部变量和成员变量的比较: 1. 在类中定义的位置不同 2. 在内存中的位置不同 局部变量: 存储在,方法对应栈空间的栈帧中的 成员变量: 存储在,堆空间中的对象的存储空间中 3. 生命周期不同 局部变量: 随着栈帧的创建而创建,随着栈帧的销毁而销毁 成员变量: 随对象的创建而创建,当对象变成垃圾的时候,对象中的成员变量对应的存储空间就会被销毁 4. 初始化值不同 局部变量: 初值,必须由程序员在使用局部变量之前赋予

记录JAVA学习的历程之关于局部变量与成员变量

最近一段时间开始学习JAVA,遇到了不少问题. 写下这些东西,纯粹为了记录自己的学习历程,借此激励自己,希望能在程序员的路上越走越远. 在JAVA中, 我们会遇到局部变量与成员变量这两个变量的分类, 这是按声明位置划分的,下面是对这两个变量的简单定义. 局部变量:方法或语句块内部定义的变量. 成员变量:方法外部,类的内部定义的变量. 更重要的一点是在局部变量中,JAVA不会默认初始化,必须自行初始化. 而在成员变量中,JAVA可自行初始化,初始化变量的值 我以图片的形式给大家浏览学习 以上只是我