`

静态变量和实例变量的区别

 
阅读更多
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。

package cn.ehoo.test;

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 test = new VariantTest();
		 test = new VariantTest();
		 test = new VariantTest();
		 test = new VariantTest();
		 test = new VariantTest();
		 VariantTest test2 = new VariantTest();
	}
}
分享到:
评论

相关推荐

    c#静态变量和实例变量

    有关静态变量和实例变量的资料,有详细的说明,大家可以看一下。我这里 有大量的关于c#的资料 要的话可以私信我

    java中静态变量和实例变量的区别详细介绍

    在Java编程语言中,静态变量和实例变量是两种不同类型的成员变量,它们在内存中的分配、生命周期、以及使用方式上有着显著的区别。本篇文章将详细探讨这两种变量的差异。 1. 内存分配: - 静态变量:静态变量是...

    python局部变量全局变量-静态方法-实例变量静态变量代码解析

    python局部变量全局变量-静态方法-实例变量静态变量代码解析。

    WPF绑定静态变量的示例代码

    在C#中,静态变量属于类,而不是类的实例。这意味着,无论创建了多少对象,静态变量只有一个副本,所有对象共享这个副本。在WPF中,我们可能会遇到需要将控件与这样的全局状态关联的情况,这时绑定到静态变量就变得...

    C# 公有变量 私有变量 静态变量

    // 不需要实例化类就能访问静态变量和方法 Console.WriteLine(MyClass.StaticVar); // 输出10 MyClass.ModifyStaticVar(); Console.WriteLine(MyClass.StaticVar); // 输出11 ``` 在实际编程中,正确选择变量的访问...

    C#中静态变量的使用

    本文将详细介绍静态变量与非静态变量的区别、静态变量的使用方式、静态构造函数的使用等方面的知识点。 一、静态变量与非静态变量的区别 静态变量和非静态变量是 C# 语言中两种不同的变量类型。静态变量是在应用...

    C#静态变量与实例变量实例分析

    总结来说,C#中的静态变量和实例变量有以下关键区别: 1. 语法定义:静态变量使用`static`修饰,实例变量不使用。 2. 内存分配:静态变量在类加载时分配,实例变量在创建实例时分配。 3. 访问方式:静态变量通过类名...

    JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析

    本文实例讲述了JS中类的静态方法,静态变量,实例方法,实例变量区别与用法。分享给大家供大家参考,具体如下: 1.类的静态方法 先来段代码之后分析 // JS类静态函数 function BaseClass() { } // 类添加add函数 ...

    java中静态与非静态的变量定义与使用

    总结起来,Java 中的静态变量与非静态变量之间的主要区别在于它们的生命周期、存储位置以及访问方式。静态变量是类级别的,与对象无关,而实例变量是对象级别的,每个对象都有自己的一份副本。理解这两种变量类型...

    WPF绑定静态变量的示例代码(二)加上IValueConverter

    静态变量在类的整个生命周期内都存在,不依赖于类实例,因此它们对于共享状态和配置设置特别有用。 首先,让我们了解如何创建一个简单的静态变量并将其绑定到UI元素。假设我们有一个名为`MyStaticVariable`的静态...

    静态变量与非静态变量获取配置文件application中变量值的区别.docx

    本文将详细介绍静态变量和非静态变量在获取配置文件中变量值的区别,并通过实例代码展示如何正确地使用静态变量和非静态变量。 首先,让我们看一下非静态变量的使用。在 Controller 文件中,我们可以使用 `@Value` ...

    类变量和实例变量.txt

    在面向对象编程中,尤其是在Java这样的语言里,类变量(也称为静态变量)和实例变量是两个重要的概念。它们都存储了对象的状态信息,但有着本质的区别。 - **实例变量**:实例变量是在每个对象创建时为其分配内存...

    类中静态成员变量和普通变量的区别——实例代码(VS2010)

    在编程语言中,如C++或Java,类的成员变量分为两种主要类型:静态成员变量(Static Member Variables)和非静态成员变量(也称为实例变量)。这两种变量在使用和存储方式上存在显著差异,这对于理解和编写高效、清晰...

    CC++中的静态全局变量,静态局部变量,全局变量,局部变量的区别

    - 设计和使用访问静态变量的函数时,需考虑重入问题,因为静态变量都位于静态数据存储区,全局可见。 - 需要一个可重入的函数时,应避免在函数中使用`static`变量,以免出现内部存储器问题。 - 当函数返回值为指针...

    VB6.0中静态变量和局部变量的区别

    本文将深入探讨静态变量(Static)和局部变量(Local Variable)的差异,通过实例帮助开发者更好地理解它们的用法和特性。 ### 1. 静态变量(Static) 静态变量在函数或过程中声明,其特点是即使函数或过程执行...

    static静态变量使用@Value注入方式.md

    这种方法不仅避免了潜在的警告和错误,还保持了静态变量的功能,确保了代码的健壮性和灵活性。 总之,理解`@Value`注解的工作原理以及如何正确地使用它对于编写高质量的Spring应用程序至关重要。希望本文能够帮助...

    Java中的静态变量静态方法静态块与静态类.docx

    Java 中的静态变量、静态方法、静态块和静态类 Java 中的静态变量、静态方法、静态块和静态类是 Java 编程语言的四个重要概念,它们之间存在着紧密的关系。下面将对这四个概念进行详细的介绍。 一、静态变量...

    静态全局变量,静态局部变量,全局变量,局部变量

    - **静态变量**: 在程序多次调用过程中保持原有的赋值状态不变。 - **变量作用范围**: 通过`static`关键字限定变量的可见性范围。 - **静态存储方式**: 改变变量的存储位置,使之在整个程序运行期间都存在。 - **...

Global site tag (gtag.js) - Google Analytics