(二十九)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 @   代号六零一  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示