• C#基础——静态变量和静态方法


    静态变量和静态方法都必须通过类名来引用。

    简单使用示例

    using System;
    
    class StaticVar
    {
        public int x;
        public static int y;
        public void PrintInfo(){
            Console.WriteLine("非静态变量x={0}",x);
            Console.WriteLine("静态变量y = {0}",y);
        }
    }
    class Test
    {
        static void Main(string[] args){
            StaticVar stv = new StaticVar();
            stv.x = 10;
            // stv.y = 20; //error;无法使用实例引用访问静态成员“StaticVar.y”;改用类型名来限定它
            StaticVar.y = 20;
            stv.PrintInfo();
        }
    }
    

    对于静态变量在声明时,如果没有给出初始值或使用前没有赋值的话,系统会给他们一个默认值:对于整型数据默认值为0;单精度数据为:0.0f;双精度数据为0.0;布尔型数据为False;引用型数据为null。

    静态方法:
    1、静态方法与静态变量一样,不属于任何特定的实例,属于类全体成员共有,由类名来调用。
    2、静态方法只能访问类的静态成员,不能访问类的非静态成员。
    3、非静态方法可以访问类的静态成员,也可以访问类的非静态成员。
    4、静态方法不能使用示例来调用,只能使用类名来调用。

    using System; 
    
    namespace TestStatic
    {
        class StaticTest
        {
            int x;
            static int y;
            public StaticTest(int a,int b){
                x = a;
                y = b;
            }
            public void SimplePrint(){
                Console.WriteLine("x="+x+",y="+y);
            }
            public static void StaticPrint(){
                Console.WriteLine("y={0}",y);
                // Console.WriteLine("x={0}",x); //静态方法中不能使用非静态成员
            }
        }
        class Test
        {
            static void Main(string[] args){
                StaticTest st = new StaticTest(10,23);
                st.SimplePrint();
                //st.StaticPrint(); //静态方法不能使用实例来调用
                StaticTest.StaticPrint();
            }
        }
    
  • 相关阅读:
    列“XAxisBacklas”不属于表 Table。
    无经意中收看了《微软英雄》片段
    书编程(Asp.net)
    Runtime Error
    书编程(其他)
    书英语书
    【转】CodeBlocks中文版使用手册
    Java关键字this、super使用总结(转)
    分析对比主流Bootloader的性能
    C语言指针的初始化和赋值
  • 原文地址:https://www.cnblogs.com/LY-CS/p/13223313.html
Copyright © 2020-2023  润新知