java面试题网

普通会员

217

帖子

75

回复

160

积分

楼主
发表于 2019-05-04 17:18:13 | 查看: 5137| 回复: 1

成员变量用static修饰和不用static修饰有什么区别?

成员变量用static修饰和不用static修饰有什么区别?

1、两个变量的生命周期不同。

成员变量随着对象的创建而存在,随着对象的被回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同。

成员变量只能被对象调用。

成员变量只能被对象调用。

成员变量只能被对象调用。

类名调用 :Person.country

3、别名不同。

成员变量也称为实例变量。

静态变量称为类变量。 

4、数据存储位置不同。

成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据.

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据.


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/634_1_1.html


java面试题交流群:327440556

普通会员

115

帖子

83

回复

169

积分
沙发
发表于 2019-09-24 15:38:27

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

  1. 调用方式
    1. 静态变量也称为类变量,可以直接通过类名调用。也可以通过对象名调用。
    2. 这个变量属于类。
    3. 成员变量也称为实例变量,只能通过对象名调用。这个变量属于对象。
  2. 存储位置
    1. 静态变量存储在方法区长中的静态区。
    2. 成员变量存储在堆内存。
  3. 生命周期
    1. 静态变量随着类的加载而存在,随着类的消失而消失。生命周期长。
    2. 成员变量随着对象的创建而存在,随着对象的消失而消失。
  4. 与对象的相关性
    1. 静态变量是所有对象共享的数据。
    2. 成员变量是每个对象所特有的数据。

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018