黑马程序员技术交流社区

标题: java中有几种变量? [打印本页]

作者: 蓦然回首3Y    时间: 2015-7-4 06:21
标题: java中有几种变量?
java中有几种变量?它们的作用域各是什么?
作者: 杨基米德    时间: 2015-7-4 07:24
成员变量,局部变量……
作者: 改变    时间: 2015-7-4 09:13
还有一个静态变量...
作者: Ruby    时间: 2015-7-4 11:15
成员变量 局部变量 静态变量
当前对象 方法内部 类
作者: mls123456    时间: 2015-7-4 13:08
我是这么理解的,不知道适不适合楼主根据作用域(作用范围)来分,一般将变量分为全局变量和局部变量。全局变量就是在类的整个范围之内,都有效的变量。而局部变量就是在类中某个方法函数内或某个子类内,有效的变量,
作者: mls123456    时间: 2015-7-4 13:11
mls123456 发表于 2015-7-4 13:08
我是这么理解的,不知道适不适合楼主根据作用域(作用范围)来分,一般将变量分为全局变量和局部变量。全局 ...

补一下,全局变量就是在类中声明, 局部变量是在方法里声明的
作者: 逍遥最好    时间: 2015-7-4 13:34
局部变量:在方法体中定义的变量,局部变量只在定义它的方法中有效。成员变量:在整个类中都有效(全局变量是C语言中的叫法,Java中没有全局变量的概念)。
成员变量又分为 实例变量(非静态变量)类变量(静态变量).
实例变量:没有使用static关键字修饰的变量,它又称为属性,对该类不同的对象来说,属性是不同的。
类变量:使用static关键字修饰的变量,一个类中只有一个该变量,该类不同的对象共享同一个静态成员变量。

作者: 々白点潜心ザ    时间: 2015-7-4 14:38
逍遥最好 发表于 2015-7-4 13:34
局部变量:在方法体中定义的变量,局部变量只在定义它的方法中有效。成员变量:在整个类中都有效(全局变量 ...

说的很详细,总结的挺好的,学习了:handshake
作者: 终极黑马    时间: 2015-7-4 18:00
学习!学习!
作者: 终极黑马    时间: 2015-7-4 18:04
学习!学习!
作者: 终极黑马    时间: 2015-7-4 20:27
学习学习!!!
作者: keto    时间: 2015-7-4 21:03
支持5楼~~
作者: 蓦然回首3Y    时间: 2015-7-5 06:59
7楼说的很详细,可是为什么一个类中只能有一个类变量呢
作者: 蓦然回首3Y    时间: 2015-7-5 07:01
逍遥最好 发表于 2015-7-4 13:34
局部变量:在方法体中定义的变量,局部变量只在定义它的方法中有效。成员变量:在整个类中都有效(全局变量 ...

一个类中为什么只能有一个类变量呢?
作者: nanfp    时间: 2015-7-5 08:04
学习了!!!
作者: 逍遥最好    时间: 2015-7-5 11:51
蓦然回首3Y 发表于 2015-7-5 07:01
一个类中为什么只能有一个类变量呢?

这里我说的有错误,应该是:类变量不依赖类的实例,类变量只在初始化时候在方法区中被分配一次内存,无论类的实例被创建几次,都不再为类变量分配内存,所有实例共用同一个类变量。类变量随着类的加载而加载,随着类的消失而消失,因此它的生命周期最长,对内存的消耗比较大,而对象用完后堆内存中的实例就会被当成垃圾回收,而方法区中的类变量还在内存中占用资源,所以不建议定义过多的静态变量。要注意区分数据本身是不是被多个数据所共享,是就静态,不是就千万别静态。
作者: 3307747472    时间: 2015-7-7 23:50
全局变量,局部变量




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2