本文目录一览:
- 1、java中静态变量的默认值是0?
- 2、java中一个类中的静态变量有什么用
- 3、java动态变量和静态变量有什么联系
- 4、java中成员变量和静态变量的区别是什么
- 5、java静态变量的与实例变量的区别
- 6、在Java中,到底什么是静态变量呢?
java中静态变量的默认值是0?
1、首先局部变量在类体中,一般是最先定义的,而局部变量是在方法或各种其他语句中,
2、而方法可以同时调用成员变量和局部变量。这里以方法F()为例。
3、如果方法中的局部变量的名字和成员变量的名字相同,那么方法就会隐藏成员变量,在方法进行操作时采用局部变量。
4、而如果想使用隐藏的成员变量值,那么只需添加this.成员变量即可实现其值调用。
5、局部变量没有默认值。如果在使用局部变量时不为其赋值,那么在编译的时候就会出现错误,这是因为方法在使用局部变量时不会为其赋初值,而相反,成员变量如果没有赋值,系统会为其自动设定默认值0。
java中一个类中的静态变量有什么用
静态变量有什么用,那就把和成员变量的区别告诉你。
静态变量用static修饰:附属于类
而成员变量是附属于对象的。
具体反应在 每个对象有各自的成员变量,但是他们共享静态变量。所以静态变量相当于是大家的共有资源。
再调用方法上。静态变量可以通过类名或者对象名访问,而成员变量只能通过对象名。
因为静态变量是类编译完成后就分配了内存空间,所以不用创建对象也可以访问。
而成员变量必须在构造对象以后才会分配内存空间,只能通过对象名访问。
java动态变量和静态变量有什么联系
java成员变量和静态变量的区别:
1,成员变量所属于对象。所以也称为实例变量。
静态变量所属于类。所以也称为类变量。
2,成员变量存在于堆内存中。
静态变量存在于方法区中。
3,成员变量随着对象创建而存在。随着对象被回收而消失。
静态变量随着类的加载而存在。随着类的消失而消失。
4,成员变量只能被对象所调用
。
静态变量可以被对象调用,也可以被类名调用。
所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。
java中成员变量和静态变量的区别是什么
静态变量存在于方法区中,成员变量存在于堆内存中,成员变量所属于对象JAVA成员变量和静态变量的区别,成员变量随着对象创建而存在。随着对象被回收而消失。静态变量随着类的加载而存在。
静态变量是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由static加以定义后才能成为静态外部变量,或称静态全局变量。
对于自动变量,它属于动态存储方式。但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。
而在以Pascal为代表的许多程序语言中,所有局部变量都由系统自动分配存储空间,而所有全局变量的存储空间则以静态分配的方式获取,因此由于实际上“局部变量”和“全局变量”这两个术语已足以涵盖所有的情况,在这些程序语言中通常不使用“静态变量”这一术语,而直接以“全局变量”代之。
在这些程序语言中,静态变量就是全局变量,而即使在有明确区分全局和静态变量的程序语言中,在编译后的代码里二者也以相同的方式获取存储空间。而今术语“静态变量”的概念则主要基于C族语言的“static”的定义。
静态变量也可以用于存储常数。具体来说,静态变量可用const,constant或final等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区。
java静态变量的与实例变量的区别
java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。
1、在语法定义上的区别:
静态变量前要加static关键字,而实例变量前则不加。
2、在程序运行时的区别:
实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
举例说明:
对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar 就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。
而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。
结果为:
1
0 (成员变量具有缺省值 而局部变量则没有)
把代码改为:
结果则为:
1
在Java中,到底什么是静态变量呢?
答:在程序开发时,我们经常希望一个变量和方法不随对象的改变而改变,甚至在没有创建对象时也能访问数据和方法,这时就可以在数据和方法上加上Static关键字,被Static修饰的数据就叫做静态变量(数据)而方法就叫静态方法。静态变量在内存中的地址是相同的,所以对于同一类的不同对象,它们静态变量的值肯定是相同的。