ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-07-02 10:38:30  阅读:186  来源: 互联网

标签:静态方法 C# 静态 int static Console public


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

简单使用示例

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();
        }
    }

标签:静态方法,C#,静态,int,static,Console,public
来源: https://www.cnblogs.com/LY-CS/p/13223313.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有