<java>请各路大神帮忙分析一下我的理解对不对

java分为成员变量和实例变量,成员变量又分为静态变量和实例变量,静态方法只能调用静态变量,实例方法可以则掉用这两种变量,静态变量的值是唯一的,实例的则不然,局部变量只能再局部使用,求各位大神批错和补充下,最近总是弄混
打错了,java分为成员变量和局部变量

你说的是对的,下面我在赘述一遍:
1:成员变量:变量电议部分所定义的变量被称为累的成员变量。也就是说成员变量在整个类中都有效,类中的方法可以直接调用成员变量使用。
然而成员变量又分为实例成员变量(简称实例变量)和类变量(简称静态变量)
1.1:实例变量:就是我们正常定义的变量,比如int a; a就是实例变量
1.2:静态变量:静态变量定义前要加上Static 比如static int a;这个a就是静态变量,当在变量定义前加上static的时候就代表着该变量在使用的时候有一处改变则各个用到这个变量的地方,该变量都发生改变,就是所谓的一处改变处处改变,静态变量的生存期为整个源程序,但是只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
2:局部变量:在方法体中定义的变量和方法的参数称局部变量。也就是说局部变量只在定义它的方法内有效,而方法外部的其他方法无法使用局部变量。当局部变量名字与成员变量名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效,以局部变量定义的为准。

简单来说呢实例变量和静态变量的差别就在修饰符,用static修饰的就是静态变量,基本上哪都能直接调用,而非static修饰的就是实例变量,哪定义在哪用,一个类定义的变量,则这个类的方法中可以直接调用,其他类要调用的话需要new 一个类出来,并且要有该变量的get,set方法,或者把变量定义成public,protected等可以被外部访问的权限才能调用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-16
1.成员变量:又称全局变量,在整个类中都存在,作用域是整个类。

2.静态变量:用static修饰。静态变量是在创建对象之前、在类加载的时候就完成初始化了,
     所以实例可以调用静态成员,因为实例调用的时候它们已经完成了初始化。
     
3.“静态变量的值是唯一的”是唯一不变的还是什么?静态变量可以用类名.变量来重新赋值。如
     果静态变量用final修饰的话,就是常量,一旦赋值就不会改变。
     
4. 静态成员可以用类名直接调用。

5.“局部变量只能再局部使用”:这个就是变量的作用域了,全局变量整个类中都可以使用。

第2个回答  2013-09-16
基本差不多,成员变量指的是类范围里定义的变量,也就是前面所说的属性;局部变量指的是一个方法内定义的变量。不管是成员变量、还是局部变量,都应该遵守相同的命名规则:从语法角度来看,只要一个合法的标识符即可,但我们应该知道,从程序可读性角度来看,应该是多个意义的单词连缀而成,其中一个单词首字母小写,后面每个单词首字母大写。成员变量被分为类属性和实例属性两种,定义一个属性时不使用static修饰的就是实例属性,使用static修饰的就是类属性。其中类属性从这个类的准备阶段起开始存在,直到系统完全
销毁这个类,类属性的作用域与这个类的生存范围相同;而实例属性则从这个类的实例被
创建开始起存在,直到系统完全销毁这个实例,实例属性的作用域与对应实例的生存范围相
同。
第3个回答  2013-09-16
Java的变量分为三种:类级别静态变量,对象级别实例变量,方法级别局部变量。
类级别静态变量是加static的成员变量。类的所有对象共同使用。
对象级别实例变量是某个对象所特有的。不同对象的实例变量互相隔离。
方法级别局部变量就简单了,在方法内部使用。

静态方法只能使用静态类级别静态变量,及本方法内部的局部变量。
非静态方法可以使用静态类级别静态变量和对象级别实例变量,及本方法内部的局部变量。
第4个回答  2013-09-16
你去把this,super和static还有final的用法好好看一下,你就会明白到底是怎么回事了,至于局部和成员,那是最好理解的,你只需要局部变量只能在离他最近的一对大括号内起作用就行了
第5个回答  2013-09-16
静态方法里可以创建实例来使用实例变量。静态变量需要加final才是常量。方法里定义的变量只能在方法里使用,方法一旦使用完,该变量会等待垃圾回收。
相似回答