(二十九)C#编程基础复习——static静态成员

特此声明:本教程内容可能有部分参照其他博主的观点或描述,但始终不影响我学习的热情,代码全部自己手工敲打,编辑此教程目的不是为了博取大家眼球,也不是为利益所驱,只是纯属为了方便自己学习,编辑的过程中也让自己加深了对C#各个基础的印象,同时也让自己编码过程更加流畅顺利,最后还能帮助到有需要的人,代码都是自己亲测有效,如有侵权可以联系本人删除。

在C#中,我们可以使用static关键字声明属于类型本身而不是属于特定对象的静态成员,因此不需要使用对象来访问静态成员。在类、接口和结构体中可以使用static关键字修饰变量、函数、构造函数、类、属性、运算符和事件。

注意:索引器和析构函数不能时静态的。

若要定义某个成员时使用static关键字,则表示该类仅存在此成员的一个实例,也就是说当我们将一个类的成员声明为静态成员时,无论创建多少个该类的对象,静态成员只会被创建一次,这个静态成员会被所有对象共享。

一、静态属性

使用static定义的成员属性称为“静态属性”,静态属性可以直接通过类名.属性名的形式直接访问,不需要事先创建类的实例。静态属性不仅可以使用成员函数来初始化,还可以直接在类外进行初始化。

示例代码如下:


namespace _016
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Test.str = "C语言中文网";
            Console.WriteLine(Test.str);
            Test test1 = new Test();
            test1.getStr();

            Test test2 = new Test();
            test2.getStr();
            test2.setStr("http://c.biancheng.net/");
            test1.getStr();
            test2.getStr();
            Console.ReadKey();

        }
    }
    public class Test
    {
        public static string str;
        public void setStr(string s)
        {
            str = s;
        }
        public void getStr()
        {
            Console.WriteLine(str);
        }
    }
}

运行结果:

二、静态函数

除了可以定义静态属性外,static关键字还可以用来定义成员函数,使用static定义的成员函数称为“静态函数”,静态函数只能访问静态属性

示例代码:

namespace _016
{
    internal class Program
    {
        static void Main(string[] args)
        {
 
            Test test1 = new Test();
            test1.setStr("baidu");
            Test.getStr();
            Test test2 = new Test();
            test2.setStr("http://baidu.com/");
            Test.getStr();
            Console.ReadKey();

        }
    }
    public class Test
    {
        public static string str;
        public void setStr(string s)
        {
            str = s;
        }
        public static void getStr()
        {
            Console.WriteLine(str);
        }
    }
}

运行结果:

posted @ 2023-11-28 10:03  代号六零一  阅读(66)  评论(0)    收藏  举报