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

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

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

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

      • 实例变量:不用 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. 微软的可疑更新DhMachineSvc.exe

    最近微软大范围的推出了一个只针对中国的更新,包含了DhMachineSvc.exe,也就是所谓的'微软设备健康助手服务'. 这个更新很神秘,首先这个更新只针对中国区,其次这个更新支持WinXP,第三这 ...

  2. python基础三之字符串

    Python的数据类型 数字(int),如1,2,3,用于计算. 字符串(str),如s = 'zxc',储存少量数据,进行操作. 布尔值(bool),True和False,用于进行判断. 列表(li ...

  3. DIRECTORY_SEPARATOR 与 getcwd

    DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’    windows上是’\’ ,php的内置常量是一个显示系统分隔符的命令,php的内部常量,不需要任何定义与包含即可直接 ...

  4. HeidiSQL工具导出导入MySQL数据

    有时候,为了数据方便导出导入SQL,我们可以借助一定的工具,方便我们队数据库的移植,可以达到事半功倍的效果.在这里,就给大家简单的介绍一款能方便导出或者导入MySQL的数据. ①首先,选择你要导出的数 ...

  5. springBoot从入门到源码分析

    先分享一个springBoot搭建学习项目,和springboot多数据源项目的传送门:https://github.com/1057234721/springBoot 1. SpringBoot快速 ...

  6. Channel 9视频整理【6】

    GiGi Huang https://channel9.msdn.com/Niners/GiGiHuang

  7. Visual Studio Team Services and Team Foundation Server官方资料入口

    Team Foundation Server msdn 中文文档入口 Visual Studio Team Services or Team Foundation Server www.visuals ...

  8. python 找出字符串中出现次数最多的字母

    # 请大家找出s=”aabbccddxxxxffff”中 出现次数最多的字母 # 第一种方法,字典方式: s="aabbccddxxxxffff" count ={} for i ...

  9. Django 中配置MySQL数据库

    在Django的项目中会默认使用sqlite的数据库 配置MySQL需要在setting.py 里加入以下设置: 配置数据库 DATABASES = { 'default': { 'ENGINE': ...

  10. jquery中动态添加的标签绑定的click事件失效的解决办法

    把.click()换成.live('click',function(){})(如果你的jquery的版本是1.10之前) 把.click()换成.on('click',function(){})(jq ...