• Java 成员变量与局部变量


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

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

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

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

        • 实例变量:不用 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;
                // 方法局部变量
            }
        }
        View Code
    • 定义位置不同:

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

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

      • 代码理解:

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

          

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

      • 作用范围不同:

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

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

        • 代码理解:

          /**
           * @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);
              }
          }
          View Code

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

    • 默认值不同:

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

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

      • 代码理解:

        /**
         * @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);
            }
        }
        View Code

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

  • 相关阅读:
    Kafka~Linux环境下的部署
    Zookeeper~Linux环境下的部署
    pwd显示链接文件的真实路径
    3种不同方式的焦点图轮播
    软件集成策略——如何有效率地提升质量
    寻找直方图中面积最大的矩形 --- 庞果网
    再谈线程
    SQL 常用基础语句
    初识Maven
    公司存在的问题
  • 原文地址:https://www.cnblogs.com/liyihua/p/11833640.html
Copyright © 2020-2023  润新知