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

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

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

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

      • 实例变量:不用 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. H3C 基本ACL部署位置示例

  2. java throw和catch同时使用

    当异常出现在当前方法中,程序只对异常进行部分处理,还有一些处理需要在方法的调用者中才能处理完成,此时还应该再次抛出异常,这样就可以让方法的调用者也能捕获到异常;   Eg: public static ...

  3. Python--day41--守护线程

    1,守护线程:守护线程会在主线程结束之后等待其他子线程的结束才结束 拓展--守护进程:守护进程随着主进程代码的执行结束而结束 代码示例:守护线程.py import time from threadi ...

  4. java GUI(图形用户界面)

    GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Command line User Interface ( ...

  5. H3C 静态聚合配置

  6. Apply,Call,bind对比

    apply.call call和apply都是为了改变上下文背景存在的,即改变函数内部指向 javascript一大特点是函数存在定义时的上下文,运行时的上下文和上下文可改变的概念 apply.cal ...

  7. 2018-5-19-创建不带BOM-的UTF8

    title author date CreateTime categories 创建不带BOM 的UTF8 lindexi 2018-05-19 14:11:33 +0800 2018-2-13 17 ...

  8. ubuntu16.04 无法wifi链接一段时间掉线且无法再连接

    ubuntu16.04 无法wifi链接一段时间掉线且无法再连接,从网上搜索的确认这个一个bug. 解决方法: 1.Get details of your PCI wireless card by r ...

  9. HDU - 3530 Subsequence (单调队列)

    Subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  10. VisualStudio 断点调试详解

    本文详细告诉大家 VisualStudio 断点调试的功能和使用方法,本文使用的是最新 VisualStudio2019 的功能,也许在你看到这篇博客的时候这个版本已经过时 本文将会按照从简单到复杂, ...