美文网首页Java笔记JAVA学习Java技术文章
Java:成员变量,局部变量,静态变量的区别

Java:成员变量,局部变量,静态变量的区别

作者: 992134d3a7cd | 来源:发表于2016-03-09 12:38 被阅读645次

    改写自 http://blog.csdn.net/haovip123/article/details/43883109
    精简后方便自己理解。

    • 成员变量
      我们研究一个事物:
      属性:外在特征;如身高,体重
      行为:能做什么;如说话,打球。

    在Java语言中,最基本的单位是类(class),类就是用来体现事物的。

    属性:类中的成员变量
    行为:类中的成员方法
    定义类就是在定义类中的成员(成员变量和成员方法)
    类是一个抽象的概念,对象就是类的具体的体现。
    例如:汽车,可以看做一个汽车类,每一台车都有颜色和轮胎数(可以定义为属性,即成员变量),每一台车都可以跑(即车的行为,对应类总的成员方法),我们把汽车实例化一下,即会产生一个对象,比如奔驰、宝马.

    在使用变量时需要遵循的原则为:就近原则
    首先在局部范围找,有就使用;接着在成员位置找。

    • 静态变量
      static修饰的变量称为静态变量,其实质上就是全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。
    成员变量 局部变量 静态变量
    定义位置 在类中,方法外 方法中,或者方法的形式参数 在类中,方法外
    初始化值 有默认初始化值 无,先定义,赋值后才能使用 有默认初始化值
    调用方式 对象调用 -- 对象调用,类名调用
    存储位置 堆中 栈中 方法区
    生命周期 与对象共存亡 与方法共存亡 与类共存亡
    别名 实例变量 -- 类变量

    在一个类中,如果一个变量能够用来描述一个类的属性,那就定义为成员变量,否则,它就应该定义为局部变量。而如果一个变量在全局中都能使用(某个内容是被所有对象所共享),那么我们就可以把这个变量用static来修饰,即为静态变量。(还要注意它与静态方法的紧密联系,这里且不细述了).

    相关文章

      网友评论

        本文标题:Java:成员变量,局部变量,静态变量的区别

        本文链接:https://www.haomeiwen.com/subject/krozkttx.html