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

转载 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# 静态类与非静态类、静态成员的区别

深入理解C# 静态类与非静态类、静态成员的区别 静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用stati...
  • jfkidear
  • jfkidear
  • 2014年01月07日 18:06
  • 16736

深入理解C# 静态类与非静态类、静态成员的区别

静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来...

java的静态成员和静态方法,非静态内部类和静态内部类的区别

这里的静态,指以static关键字修饰的,包括类,方法,块,字段。非静态,指没有用static 修饰的。静态有一些特点:1.全局唯一,任何一次的修改都是全局性的影响2.只加载一次,优先于非静态3.使用...

C# 静态类与非静态类、静态成员的区别

静态类     静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序...

非静态成员函数与this指针

this指针的本质This指针本质是一个函数参数,只是编译器隐藏起形式的,语法层面上的参数。this指针只能在非静态成员函数中使用,全局函数、静态函数都不能使用this指针。实际上,非静态成员函数默认...

非静态成员函数后面的const作用

看下面的代码和gcc给出的报错信息有助于理解非静态成员函数后面的const意思了。 非静态成员函数后面的const作用其实就是限定了函数内部不可改变数据成员的值。 #include usin...
  • odaynot
  • odaynot
  • 2012年10月02日 15:51
  • 1690

指向类的非静态成员的指针

类的成员自身也是一些变量、函数或者对象等,因此也可以直接将他们的地址存放到一个指针变量中,这样,就可以使指针直接指向对象的成员,今儿可以通过这些指针访问对象的成员。 声明指针语句的一般形式为: 类...

C++ 类非静态成员函数作为线程入口函数实现

///////////////////////////////////////////////////// //代码 #include #include #include #include ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:静态成员和非静态成员的区别
举报原因:
原因补充:

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