当前位置:首页 > C#学习 > 正文内容

静态成员和静态类

小道7年前 (2018-08-21)C#学习4215

全局变量。static类变量。

不用new就能用的方法:static方法,static方法其实就是普通函数

在static方法中可以调用其他static成员,但是不能调用非static成员。在非static方法中可以调用static成员。

    class Program
    {
        static void Main(string[] args)
        {
            Person.A = 30;//类可以直接调用静态成员。无须new
            Console.WriteLine("输出值为:{0}",Person.A);
        }
    }
    class Person
    {
        public static int A;//静态成员。不需要new一个对象,直接可以调用。(可以当成全局变量用。)其他cs文件也可以直接调用。
    }

输出结果:

image.png

namespace 静态成员
{
    class Program
    {
        static void Main(string[] args)
        {
            Person.A = 30;//类可以直接调用静态成员。无须new  只要加上 static就是静态成员
            Console.WriteLine("输出静态成员Person.A的值:{0}", Person.A);
            DoIt();//调用静态方法(函数)。
            Dog d = new Dog();
            d.叫();//调用 叫 函数。
            Person.汇报();//类可以直接调用静态成员方法。无须new  只要加上 static就是静态成员
            Person p = new Person();
            p.Age = 100;
            p.非static方法();//可以调用
            Console.ReadKey();
        }
        public static void DoIt()//要调用 静态成员,必须加上static
        {
            Console.WriteLine("——————————————————————————");//输出横线
            Console.WriteLine("在DoIt方法中调用静态成员Person.A的值:{0}", Person.A);//可以调用,但方法必须是 static 。
        }
    }
    class Person
    {
        public static int A;//静态成员。不需要new一个对象,直接可以调用。(可以当成全局变量用。)其他cs文件也可以直接调用。
        public int Age;//声明一个字段。
        public static void 汇报()
        {
            Console.WriteLine("——————————————————————————");//输出横线
            Console.WriteLine("在Person类中调用静态成员Person.A的值:{0}", Person.A);//可以方法中可以调用,不可以调用非 static 成员,如不能调用Age数据。
        }
        public void 非static方法()
        {
            Console.WriteLine("——————————————————————————");//输出横线
            Console.WriteLine("在 非static方法 调用静态成员Person.A的值:{0},也可以调用非static字段:{1}", Person.A,Age);//可以在非static成员方法中可以调用static成员。
        }
    }
    class Dog
    {
        public void 叫()//声明一个函数。
        {
            Console.WriteLine("——————————————————————————");//输出横线
            Console.WriteLine("在Dog类中的 叫 函数调用静态成员Person.A的值:{0}", Person.A);
        }
    }
}

输出结果:

image.png


静态类,不能被new的类就是静态类。静态类一般用来实现一些函数库。***Helper,SqlHelper,PageHelper。

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("输出静态类P.A的值:{0}", P.A());//静态类可以直接调用,无法new
            Console.ReadKey();//按任意键退出
        }
    }
    static class P  //类加上static 就是静态类
    {
        public static int A()//静态方法。
        {
            Console.WriteLine("请输入一个数:");//提示
            string s = Console.ReadLine();//接收用户输入的值。
            return Convert.ToInt32(s);//返回 转换成整型的值。
        }
    }

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://www.daobk.com/post/43.html

分享给朋友:
返回列表

上一篇:常量

下一篇:命名空间namespace

“静态成员和静态类” 的相关文章

if语句应用:提示用户输入密码,如果输入的是"888888",输出"密码正确",反之则输出"密码不正确"

if语句应用:提示用户输入密码,如果输入的是"888888",输出"密码正确",反之则输出"密码不正确"

if语句应用:提示用户输入密码,如果输入的是"888888",输出"密码正确",反之则输出"密码不正确"。提示用户输入密码,如果密码是“888888”则提示正确,否则提示错误。     &n...

if语句应用:依次提示用户输入两个整数

if语句应用:依次提示用户输入两个整数

依次提示用户输入两个整数(假设i1、i2)。如果i1、i2都是正数,则将i1的值递增一个数,然后打印i1+i2的值;如果i1、i2都是负数,则将i1的值递减10个数,然后打印i1*i2的值;如果i1、i2中任一个为0,则提示数据有错误;否则计算i1*i2的绝对值。   ...

数组:​从一个整数数组中取出最大的整数。

数组:​从一个整数数组中取出最大的整数。

保存多个值。任意类型都可以声明数组。int[] nums = {5,3,8};//数组可以直接赋值。 int[] nums = new int[3];//也可以先声明数组 不赋值。   &...

函数重名:构成重载的条件:参数类型不同或者参数个数不同(不严谨),与返回值无关。

函数重名:构成重载的条件:参数类型不同或者参数个数不同(不严谨),与返回值无关。

构成重载的条件:参数类型不同或者参数个数不同(不严谨),与返回值无关。        static void Main(string[] args)//默认函数   &...