静态变量和成员变量的区别 && 成员变量和局部变量的区别

简介: ============================================================================= 1)静态变量和成员变量的区别:   (1):所属不同:     静态变量:属于类,也称为类变量。

=============================================================================

1)静态变量和成员变量的区别:
  (1):所属不同:
    静态变量:属于类,也称为类变量。
    成员变量:属于对象,也称为对象变量或实例变量。
  (2):在内存中的位置不同:
    静态变量:存储于方法区的静态区。
    成员变量:存储于堆内存。
  (3):生命周期不同:
    静态变量:静态变量是随着类的加载而加载,随着类的消失而消失。
    成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失。
  (4):调用不同:
    静态变量:可以通过对象名调用,也可以通过类名调用。
    成员变量:只能通过对象名调用。

=============================================================================

2)成员变量和局部变量的区别:
  (1)在类中的位置不同:
    成员变量:在类中方法外。
    局部变量:在方法定义中或者方法声明上(即形参)。
  (2)在内存中的位置不同:
    成员变量:在堆中。
    局部变量:在栈中。
  (3)生命周期不同:
    成员变量:随着对象的创建而存在,随着对象的消失而消失。
    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
  (4)初始化值不同:
    成员变量:有默认值。
    局部变量:没有默认值,必须定义,赋值,然后才能使用。
  (5)注意事项:

    1.局部变量名称可以和成员变量名称一样,但是在方法中使用该变量的时候,采用的是就近原则(即先找小范围,再找大范围)。
    2.局部变量前不能放置任何访问修饰符 (private,public和protected)。final可以用来修饰局部变量。被final修饰的局部变量变为常量了。
    3.修饰成员变量的修饰符有:private、默认、protected、public、static、final。

=============================================================================

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
10月前
|
存储 Java 编译器
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
126 0
类成员指针和类成员变量指针
类成员指针和类成员变量指针
144 0
|
4月前
|
存储 Java
静态变量与实例变量的区别
【10月更文挑战第15天】总之,静态变量和实例变量在 Java 中具有不同的特性和用途。理解它们的区别对于正确设计和编写代码至关重要。
|
4月前
|
Java
静态变量和实例变量区别
静态变量: 静态变量由于不属于任何实例对象,属于类的,所以在内存中只会有一份,在类的加载过程中,JVM只为静态变量分配一次内存空间。 实例变量: 每次创建对象,都会为每个对象分配成员变量内存空间,实例变量是属于实例对象的,在内存中,创建几次对象,就有几份成员变量。
|
5月前
使用静态变量和方法
使用静态变量和方法
22 1
|
8月前
成员变量、局部变量和静态变量的区别
成员变量、局部变量和静态变量的区别
42 0
|
8月前
|
存储 Java
成员变量与实例变量的区别与用途详解
成员变量与实例变量的区别与用途详解
|
10月前
|
存储
成员变量和类变量的区别:
成员变量和类变量的区别:
174 0
|
10月前
|
Java
局部变量和成员变量
局部变量和成员变量1.定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中2.作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用。3.默认值不一样【重点】局部变量:没有默认值,如果要想使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样4.内存的位置不一样(了解)局部变量:位于栈内存成员变量:位于堆内存5生命周期不一样(了解)局部变量:随着方法进栈而诞生,随着方法出栈而消失成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失当方法的局部变量和类的成员变量重名
|
Java
成员变量与局部变量
成员变量与局部变量
140 0