zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    009——数组(九) each list array_map array_walk array_walk_recursive
    008——数组(八)删除添加数组 得到数组键名键值
    laravel怎么获取到public路径
    laravel中composer镜像服务的方式
    logback的使用和logback.xml详解
    log4j-over-slf4j工作原理详解
    java
    【Log】logback指定配置文件(二)
    logback 中文手册
    logback logback.xml常用配置详解(三) <filter>
  • 原文地址:https://www.cnblogs.com/liyihua/p/11833640.html
Copyright © 2011-2022 走看看