zoukankan      html  css  js  c++  java
  • Java成员变量、局部变量,静态成员变量、非静态成员变量的区别

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

    1.定义位置上看

    成员变量定义在类中,局部变量定义在方法中、或者语句中

    2.内存的存储

    成员变量跟随对象在堆中存储

    局部变量跟着方法在栈内存存储

    3.生命周期

    成员变量堆内存存储,声明周期较长

    局部变量栈内存存储,使用完毕后就消失,声明周期较短

    4.作用范围

    成员变量作用范围是整个类,最大

    局部变量只在方法、语句中有效,最小

    5.初始化赋值

    成员变量堆内存,有默认值

    局部变量栈内存,必须手动赋值

    静态成员变量和非静态成员变量的区别

    1.static修饰成员变量、类变量 ------- 属于类

      非静态成员变量、实例变量、对象变量 ------- 属于对象

    2.内存位置

    静态,跟随类的加载而加载,随着类的消亡而消亡,方法区

    非静态,跟随对象在堆中,没有引用变量后,成为垃圾

    3.生命周期

    静态随着类的加载而加载,生命最长

    非静态成员变量,随着对象加载,生命相对较短

    4.调用方式

    静态,可以被类名、对象调用,使用类名

    非静态,只能对象调用

    5.作用意义

    静态是所有对象共享数据

    非静态是每个对象的特有数据

  • 相关阅读:
    Vue的响应式和双向绑定的实现
    JS-跨域请求豆瓣API提供的数据
    豆瓣电影API接口
    JS/PHP-表单文件域上传文件和PHP后台处理
    jQuery-attr,prop及自定义属性
    PHP-关于php代码和html,js混编
    JS-Chrome控制台console.log会访问即时数据
    JS-time和timeEnd
    JS-用ID值直接操作DOM
    CSS-07 行内设置点击事件
  • 原文地址:https://www.cnblogs.com/KevinFeng/p/12839825.html
Copyright © 2011-2022 走看看