静态成员和非静态成员的区别

转载 2012年03月22日 21:49:54

静态成员和非静态成员的区别?

答:

静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值。静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等。

using System;

using System.Collections.Generic;

using System.Text; 

namespace Example01

{    

    class Program    

    {        

        class Class1        

        {            

            public static String staticStr = "Class";            

            public String notstaticStr = "Obj";        

        }        

        static void Main(string[] args)        

        {            

            //静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值            

            Console.WriteLine("Class1's staticStr: {0}", Class1.staticStr);             

            Class1 tmpObj1 = new Class1();            

            tmpObj1.notstaticStr = "tmpObj1";            

            Class1 tmpObj2 = new Class1();            

            tmpObj2.notstaticStr = "tmpObj2";             

            //非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值            

            Console.WriteLine("tmpObj1's notstaticStr: {0}", tmpObj1.notstaticStr);            

            Console.WriteLine("tmpObj2's notstaticStr: {0}", tmpObj2.notstaticStr);             

            Console.ReadLine();        

        }    

    }

}

结果: 

Class1's staticStr: Class 

tmpObj1's notstaticStr: tmpObj1 

tmpObj2's notstaticStr: tmpObj2

 

C++静态成员和非静态成员的区别

1.数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会...
  • developerof
  • developerof
  • 2016年04月14日 10:03
  • 2989

static成员与非静态成员的区别以及使用方法

先简单的说一下,类中用 static 关键字修饰的成员都是静态成员,是这个类通用的特征( 属性 )行为( 方法 );而不用 static 修饰的成员即为非静态成员,或者叫实例成员,对于用同一个类实例出...
  • xinhuo1125
  • xinhuo1125
  • 2007年04月16日 06:06
  • 1651

静态成员与非静态成员区别

若将类中的某个成员声明为static   该成员称为静态成员类中的成员要么是静态 要么是非静态的一般说来静态成员是属于类所有的非静态成员则属于类的实例 对象 以下示例代码演示了如何声明静态和非静态成员...
  • laodao1
  • laodao1
  • 2008年06月25日 22:43
  • 1874

java学习总结(16.06.07)类的静态成员和非静态成员

java里,类的成员可分为静态成员和费静态成员(实例成员),静态成员和非静态成员,从定义上来说就是有没有static修饰符修饰的区别。有static修饰的成员就是静态成员。如 public stati...
  • qq_32099621
  • qq_32099621
  • 2016年06月07日 07:08
  • 778

静态成员变量和非静态成员变量的区别

从保存位置、书写格式、生命周期上、使用方法、修改后的影响范围上看静态成员变量和非静态成员变量的区别。...
  • tuntun1120
  • tuntun1120
  • 2016年08月17日 21:33
  • 2201

静态成员函数和非静态成员函数的区别?

静态成员函数和非静态成员函数的区别? 一个静态成员函数不与任何对象相联系,故不能对非静态成员进行默认访问。 它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的...
  • lejun2011
  • lejun2011
  • 2013年09月18日 10:10
  • 7025

静态成员函数和普通成员函数的区别

成员函数:无论静态函数还是非静态函数,都是属于类的(这一点与数据成员的静态非静态不同),对象并不拥有函数的拷贝.两者的区别在于:非静态的函数由类对象(加.或指针加->;)调用,这时将向函数传递this...
  • liujianfei526
  • liujianfei526
  • 2016年01月22日 16:32
  • 3543

对于Java静态成员变量和非静态成员变量的一些学习方法

内存的划分 首先,一个程序在执行的时候,不同的代码会在内存开辟不同的区域. 基本上是:   代码区(code segment):主要存放程序的代码.   数据区(data segment):存放静态成...
  • u013735633
  • u013735633
  • 2015年03月14日 12:25
  • 662

c++-静态成员函数和非静态成员函数的区别

1.virtual与静态函数 C++中,静态成员函数不能被声明为virtual函数。 例如,下面的程序会编译失败。#include class Test { public: ...
  • qq_30968657
  • qq_30968657
  • 2017年04月05日 10:28
  • 510

静态成员(方法)与非静态成员(方法)的区别

原文地址:http://developer.51cto.com/art/200908/147736.htm C#的类中可以包含两种方法:C#静态方法与非静态方法。那么他们的定义有什么不同呢?他们...
  • cz_2012
  • cz_2012
  • 2013年03月17日 23:06
  • 853
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:静态成员和非静态成员的区别
举报原因:
原因补充:

(最多只允许输入30个字)