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

  • 什么是局部变量、什么是成员变量:

    • 局部变量:在方法内部的变量

      • 形参:在方法签名中定义的变量。
      • 方法局部变量:在方法内部定义的变量。
      • 代码块局部变量:在代码块内定义的变量。
    • 成员变量:定义在类里的变量

      • 实例变量:不用 static 修饰的变量。
      • 类变量:static 修饰的变量。
    • 代码:

      /**
      * @Author: YiHua Lee
      * @Version: jdk1.8.0_221.jdk, x86_64: "Java SE 8"
      * @Application: IntelliJ IDEA
      * @CreateTime: 2019/11/11 9:17 上午
      * @Package: PACKAGE_NAME
      * @Description:
      */
      public class ValueDifference {
      String name;
      // 实例变量 static int id;
      // 类变量 public ValueDifference(int id1, String name1) {
      this.name = name1;
      id = id1;
      } public void value1(int number) {
      int age;
      // 方法局部变量 for (int i = 0; i < number; i++) {
      System.out.println("i 代码块局部变量");
      }
      } public static void value2() {
      String gender;
      // 方法局部变量
      }
      }
  • 定义位置不同:

    • 局部变量:在方法内部。

    • 成员变量:在方法的外部,直接写在类当中的变量。

    • 代码理解:

      /**
      * @Author: YiHua Lee
      */ public class ValueDifference {
      String name;
      // 成员变量 public void value() {
      int id;
      // 局部变量
      }
      }

      

      注意:什么是局部变量、什么是成员变量

    • 作用范围不同:

      • 局部变量:只有在方法中才可以使用,如果出了方法,就不可以再用了。

      • 成员变量:整个类中都是可以使用的。

      • 代码理解:

        /**
        * @Author: YiHua Lee
        */
        public class ValueDifference {
        String name;
        // 成员变量 public void value1() {
        int id1;
        // 局部变量
        System.out.println(id2);
        } public void value2() {
        int id2;
        // 局部变量
        System.out.println(id1);
        }
        }

        注意:什么是局部变量、什么是成员变量

  • 默认值不同:

    • 局部变量:没有默认值,假如想使用,一定要手动进行赋值。

    • 成员变量:如果没有赋值,会有默认值

    • 代码理解:

      /**
      * @Author: YiHua Lee
      */
      public class ValueDifference {
      String name;
      // 成员变量 public void value1() {
      int id1;
      // 局部变量
      System.out.println(id1);
      System.out.println(name);
      } public void value2() {
      int id2 = 2;
      // 局部变量
      System.out.println(id2);
      System.out.println(name);
      }
      }

      注意:什么是局部变量、什么是成员变量

Java 成员变量与局部变量的更多相关文章

  1. Java成员变量和局部变量

    Java成员变量和局部变量 一.成员变量和局部变量 二.static关键字 三.成员变量和静态变量区别 四.main函数 五.静态函数什么时候用 六.静态代码块 七.构造代码块 构造代码块先于构造函数 ...

  2. Java 成员变量和局部变量

    1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...

  3. java 成员变量和局部变量的区别

    将对象的存储在数组中会报错 public static void main(String[] args) { ArrayList<Goods> arrayList = new ArrayL ...

  4. Java成员变量与局部变量的区别

    从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数:成员变量可以被public,private,static等修饰符所修饰,而局部变量不能被访问控制修饰符及static所 ...

  5. Java成员变量与局部变量同名

    看到成员变量和局部变量同名这个知识点的时候一开始有点懵逼,想了一下其实特别简单. 先来看一个简单的代码. 首先我定义了一个Person类. public class Person { private ...

  6. Java成员变量和局部变量区别

    成员变量和局部变量区别 变量根据定义位置的不同,我们给变量起了不同的名字.如下图所示: 区别 在类中的位置不同  (重点) 成员变量:类中,方法外 局部变量:方法中或者方法声明上(形式参数) 作用范围 ...

  7. 7.3 java 成员变量和局部变量区别

    /* * 成员变量和局部变量的区别: * A:在类中的位置不同 * 成员变量:类中,方法外 * 局部变量:方法中或者方法声明上(形式参数) * B:在内存中的位置不同 * 成员变量:堆内存 * 局部变 ...

  8. java成员变量与局部变量修饰符的区别

    成员变量: 可以被 public,static ,protected,default,final修饰. 局部变量:包括方法里的和 代码块里的(静态和非静态) 可以被default, final修饰 参 ...

  9. java成员变量和局部变量的初始化和内存中的运行机制

    成员变量: 当系统加载类或创建类的实例时,系统会自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值. eyeNum是类属性.name是实例属性 所有person实例访问eyeNu ...

随机推荐

  1. 2019-8-4-自动更新所有-Git-仓库

    title author date CreateTime categories 自动更新所有 Git 仓库 lindexi 2019-08-04 14:44:59 +0800 2019-08-01 2 ...

  2. Linux 线程实现机制分析 Linux 线程实现机制分析 Linux 线程模型的比较:LinuxThreads 和 NPTL

    Linux 线程实现机制分析 Linux 线程实现机制分析  Linux 线程模型的比较:LinuxThreads 和 NPTL http://www.ibm.com/developerworks/c ...

  3. Python3内置函数、各数据类型(int/str/list/dict/set/tuple)的内置方法快速一览表

    Python3内置函数 https://www.runoob.com/python3/python3-built-in-functions.html int https://www.runoob.co ...

  4. dotnet core 用值初始化整个数组

    如果想要创建一个数组,在这个数组初始化一个值,有多少不同的方法? 本文告诉大家三个不同的方法初始化 在开发中,会不会用很多的时间在写下面的代码 var prime = new bool[1000]; ...

  5. vue 实例未加载完成显示 花括号解决方案

    css [v - cloak] { display: none!important; } html < div id = "app" v-cloak >

  6. 红米K20 Pro 传感器失效解决方案

    最近把Redmi K20 Pro升级到了安卓Q,用了几天,不好用,总是提示屏幕前方有遮挡,于是刷回了安卓9,但是发现重力感应传感器失效了,屏幕不会随这方向转,导航的时候看起来很难受. 网上查了一下,要 ...

  7. 解决IDEA使用terminal时 git log 乱码

    1.配置环境变量:  变量名称-LESSCHARSET 变量值:utf-8 2.重启IDEA

  8. [译] 重新思考 1 号进程 / Rethinking PID 1

    By Lennart Poettering 译 SReadFox 原文链接:http://0pointer.de/blog/projects/systemd.html 译注:笔者大约在 2011 年读 ...

  9. linux上传文件的命令

    由于svm挂机不能通过svn提交代码,所以今天尝试了一下linux的rz和sz命令 1.sz命令是把文件下载到本地,使用方法如下 sz  文件名 回车之后会弹出一个本地的路径选择框,选择要下载的路径即 ...

  10. CString 的成员函数详解

    CSTRING的成员函数详解   typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString;CStrin ...