A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹思敏 中级黑马   /  2013-6-7 09:10  /  1619 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java类的成员变量有2种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。它们之间的区别在于??

5 个回复

倒序浏览
在语法定义上的区别:静态变量前要加

static

关键字,而实例变量前则不加。

在语法定义上的区别:静态变量前要加

static

关键字,而实例变量前则不加。

在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的

实例变量才会被分配空间,

才能使用这个实例变量。

静态变量不属于某个实例对象,

而是属

于类,

所以也称为类变量,只要程序加载了类的字节码,

不用创建任何实例对象,

静态变量

就会被分配空间,

静态变量就可以被使用了。

总之,

实例变量必须创建对象后才可以通过这

个对象来使用,静态变量则可以直接使用类名来引用。
回复 使用道具 举报
本帖最后由 穆爱明 于 2013-6-7 09:25 编辑

看看视频,老师有讲!
回复 使用道具 举报

在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。

在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。


回复 使用道具 举报
实例变量和静态变量的区别:
(1)        存放位置不同,
类变量随着类的加载而存在于方法区(共享区/数据区),
实例变量随着对象的建立而存在于堆内存中
(2)        生命周期不同:
类变量生命周期最长,随着类的消失而消失
实例变量的生命周期随着变量的消失而消失。
(3)        主函数是静态的
回复 使用道具 举报
类变量,就是随类的加载而存在的,在方法区中,是优先于对象存在的.是属于类的,可以类名.来调用.也可以用对象来调用,因为是共享的.

实例变量,是随着对象的创建而存在的,每个对象里都有份实例变量.不同的对象中的变量值可能是不同的.但静态变量时相同的.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马