在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
public class VariantTest
{
public static int staticVar = 0;
public int instanceVar = 0;
public VariantTest()
{
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
}
public static void main(String[] args){
VariantTest a=new VariantTest();
VariantTest b=new VariantTest();
VariantTest c=new VariantTest();
VariantTest d=new VariantTest();
}
}
结果:
staticVar=1,instanceVar=1
staticVar=2,instanceVar=1
staticVar=3,instanceVar=1
staticVar=4,instanceVar=1
分享到:
相关推荐
有关静态变量和实例变量的资料,有详细的说明,大家可以看一下。我这里 有大量的关于c#的资料 要的话可以私信我
本文实例讲述了C#静态变量与实例变量的具体用法,分享给大家供大家参考。具体分析如下: 1)在语法定义上的区别: 类变量也叫静态变量,静态变量前要加static关键字,而实例变量前则不加; 实例变量也叫对象变量,...
python局部变量全局变量-静态方法-实例变量静态变量代码解析。
本篇文章介绍了,java中静态变量和实例变量的区别。需要的朋友参考下
本文实例讲述了JS中类的静态方法,静态变量,实例方法,实例变量区别与用法。分享给大家供大家参考,具体如下: 1.类的静态方法 先来段代码之后分析 // JS类静态函数 function BaseClass() { } // 类添加add函数 ...
经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。VB.NET能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态...
计算机后端-Java-Java核心基础-第15章 面向对象07 06. 静态变量与实例变量的对比.avi
类中静态成员变量和普通变量的区别——实例代码(VS2010),已测试,没有问题。
静态变量的导入以及集合的运用,以及综合实例。
这里使用静态变量目的是在类中实现一个静态的队列,这里用数组实现,任何时候插入到队列中的数据不会和类的实例有直接关系。 __author__ = 'Administrator' class CaptchaImage: def queue(self,arr=list()): ...
分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...
主要介绍了python类和函数中使用静态变量的方法,实例分析了三种常用的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了C#中static静态变量的用法,实例分析了C#中static静态变量的含义及具体用法,非常具有参考借鉴价值,需要的朋友可以参考下
类变量是类中的静态变量,是用static修饰的变量;实例变量就是类中的成员变量,没有用static修饰的。 类变量是所有对象公用的,实例变量是对象私有的;当一个对象将类变量进行修改后,这个类的其他所有对象访问这个类...
可以将静态变量理解为类变量(与对象无关),而实例变量则属于一个特定的对象。 静态变量有两种情况: ● 静态变量是基本数据类型,这种情况下在类的外部不必创建该类的实例可以直接使用 ● 静态变量...
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态...
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。