• 7.3 java 成员变量和局部变量区别


    /*
    * 成员变量和局部变量的区别:
    * A:在类中的位置不同
    * 成员变量:类中,方法外
    * 局部变量:方法中或者方法声明上(形式参数)
    * B:在内存中的位置不同
    * 成员变量:堆内存
    * 局部变量:栈内存
    * C:生命周期不同
    * 成员变量:随着对象的创建而存在,随着对象的消失而消失
    * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
    * D:初始化值的问题
    * 成员变量:有默认值
    * 局部变量:没有默认值。必须先定义,赋值,最后使用
    */

    堆区:  一般由程序员分配释放,由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,由OS释放。其特点是使用灵活,空间比较大,但容易出错

    栈区: 由编译器自动分配释放,保存局部变量,栈上的内容只在函数(方法)的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限



    public class Variable {
            int x;
            public void eat() {
                System.out.println("hello");
            }
    
            public void show() {
    //            int y;
                int y = 0;
                System.out.println(x);
                System.out.println(y);
            }
    }
  • 相关阅读:
    高斯消元
    Luogu P2068 统计和
    Luogu P1892 [BOI2003]团伙
    Luogu P2866 [USACO06NOV]糟糕的一天Bad Hair Day
    Luogu P3916 图的遍历
    Luogu P1041 [2003NOIP提高组]传染病控制
    Luogu P3901 数列找不同
    Luogu 2951 捉迷藏Hide and Seek
    Luogu P1550 打井Watering Hole
    洛谷——P1044 栈
  • 原文地址:https://www.cnblogs.com/longesang/p/10974355.html
Copyright © 2020-2023  润新知