当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-11-04

    本文导语:  本文实例讲述了C#静态变量与实例变量的具体用法,分享给大家供大家参考。具体分析如下: 1)在语法定义上的区别: 类变量也叫静态变量,静态变量前要加static关键字,而实例变量前则不加; 实例变量也叫对象变量,即...

本文实例讲述了C#静态变量与实例变量的具体用法,分享给大家供大家参考。具体分析如下:

1)在语法定义上的区别:
类变量也叫静态变量,静态变量前要加static关键字,而实例变量前则不加;
实例变量也叫对象变量,即没加static 的变量;

2)在程序运行时的区别:
实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用。静态变量则可以直接使用类名来引用;

3)在运行表现结果的区别:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;

再来看看下面这段程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      StaticTest A, B;//定义类的变量
      A = new StaticTest();//创建类的实例A
      B = new StaticTest();//创建类的实例B
      StaticTest.stal = StaticTest.stal + 10;//通过类名给静态变量赋值
      A.a2 = A.a2 + 10;//给实例A的成员A2赋值
      StaticTest.stal = StaticTest.stal + 10;//通过类名给静态变量赋值
      B.a2 = B.a2 + 20;//给实例B的成员赋值
      Console.WriteLine("StaticTest.stal+{0},A.a2={1}", StaticTest.stal, A.a2);//输出静态变量和实例A的成员a2的值
      Console.WriteLine("StaticTest.stal+{0},B.a2={1}", StaticTest.stal, B.a2);//输出静态变量和实例B的成员a2的值
      Console.ReadKey();
      
    }
  }
  class StaticTest
  {
    public static int stal = 10;//定义静态变量
    public int a2 = 10;//定义实例变量
  }
}

运行结果如下图所示:

希望本文所述对大家C#程序设计的学习有所帮助。


    
 
 

您可能感兴趣的文章:

  • PHP static局部静态变量和全局静态变量总结
  • java有无像vb那样的静态变量?java的staic是类的属性,那末,静态变量如何声明?
  • 请教:(static)静态变量和静态方法是什么意思?
  • 静态函数,静态变量
  • c++静态局部变量和静态函数示例
  • linux动态链接库里全局变量和静态变量会导致动态库不可重入吗?
  • 类静态变量能定义在成员方法中吗?? 在线
  • 大家快来帮帮我,关于JAVA的类变量:一定在定义成STATIC变量(即静态变量)吗?
  • 问一个静态变量和外部函数的问题。
  • 一个类里的静态方法可以访问这个类里的变量吗?
  • 关于C++静态成员函数访问非静态成员变量的问题
  • 如何不通过全局变量和静态变量与模态对话框进行数据交换?
  • php中的静态变量的基本用法
  • 为什么两个终端的静态变量会相互覆盖?
  • 为什么非静态变量不能用在静态方法上?什么意思?
  • java中静态变量和实例变量的区别详细介绍
  • [scjp问题] 关于静态方法中间的变量调用错误问题
  • 在静态上下文中不能引用非静态变量 this WindowAdapter e=new MyAdapter();why?
  • Android静态变量的生命周期 简单介绍
  • To masterz():本人愚笨,向你再请教一个问题 在静态上下文中不能引用非静态变量 this
  • C#生成单页静态页简单实例
  • c#只读字段和常量的区别,以及静态构造函数的使用实例
  • asp.net 伪静态简单实例
  • php static延迟静态绑定实例解析
  • 深入C#实例成员和静态成员详解
  • 深入C#中静态成员和实例变量详解
  • python中的实例方法、静态方法、类方法、类变量和实例变量浅析
  • asp.net URL地址重写(伪静态)学习实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C# 静态方法与非静态方法的区别分析
  • C#中实现抽象类里建立静态方法
  • C# 静态构造函数使用总结
  • c#静态方法和非静态方法详细介绍
  • 学习C#中的静态构造函数与复制构造函数
  • 学习C#静态函数及变量的一个精典例子与代码
  • C#中静态的深入理解
  • C#只读字段和常量的区别 静态构造函数的例子
  • C# .NET自定义类实现伪静态页面的代码
  • C# 伪静态 URL重写配置一例
  • C# 静态类与非静态类、静态成员的区别分析
  • C#中静态构造函数的几点说明介绍
  • C# .Net实现Url地址重写(伪静态)的方法
  • 深入理解c# static 静态数据成员和方法
  • C# 伪静态实现方法与代码示例
  • C# 伪静态页面的二个实现代码
  • 一个基本概念问题:静态函数只能调用静态方法,类的成员函数也是静态的吗?
  • linux中静态链接库调用了另一个静态链接库
  • 如何 用一个静态库 生成 另一个静态库
  • 有把两个静态库.a合成一个静态库的简单方法吗
  • linux 生成静态库的时候怎么连接别的静态库
  • 静态博客 静态blog
  • 静态库动态库同时存在时,如何指定使用静态库
  • 如何在一个静态链接库中链接另一个静态链接库?
  • gcc的静态库.lib怎末在编译的时候连接。对了静态库是自己的???
  • 在静态上下文中不能引用非静态方法test(),天啊,为什么我的main()不能调用任何其它函数?
  • 一个静态库包含多个函数,应用程序连接了库中的某个函数,应用程序目标代码中是否还包含了该静态库中的其他函数代码?
  • 急求静态库引用静态库,该如何编译链接!!!
  • asp.net伪静态后真正的静态文件无法访问的解决方法
  • 请问在LINUX下怎么设置静态IP?我在虚拟机中不能设置静态IP怎么办?
  • makefile.am中生成.a静态库的同时,链接其他.a静态库或.la动态库的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3