静态类静态方法的使用

Posted hao_1234_1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态类静态方法的使用相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _Test
{

    class Program
    {
        static void Main(string[] args)
        {
            //调用实例成员
            Person p = new Person();
            p.M1();//实例方法,调用的时候必须创建实例对象。
            Person.M2();//静态方法,只能通过类名直接调用。

            Student.M3();//静态类中的静态方法只能通过类名调用。
            

            Console.WriteLine();
            Console.ReadKey();
        }
    }


    public static class Student  //静态类
    {
        private static string _name;

        public static string Name
        {
            get { return Student._name; }
            set { Student._name = value; }
        }

        public static void M3()
        {
            Console.WriteLine("Hello World");
        }

    }


    public class Person //非静态类
    {
        private static string _name;

        public static string Name
        {
            get { return Person._name; }
            set { Person._name = value; }
        }
        private char _gender;

        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }
        public void M1() //非静态类
        {

            Console.WriteLine("我是非静态的方法");
        }
        public static void M2() //静态类
        {

            Console.WriteLine("我是一个静态方法");
        }
    }

}

 语法规则:

1静态类与非静态类基本相同,但存在一个区别:静态类不能实例化。也就是说,不能使用 new 关键字创建静态类类型的变量。因为没有实例变量,所以要使用类名本身访问静态类的成员。

2静态类的特性:

  • 仅包含静态成员。

  • 无法实例化。

  • 是密封的。

  • 不能包含实例构造函数。

 

以上是关于静态类静态方法的使用的主要内容,如果未能解决你的问题,请参考以下文章

在android studio中升级repo v9后,片段必须是公共静态类崩溃错误

错误:这个片段内部类应该是静态的 [ValidFragment]

静态方法内的同步块将获取类级别锁或对象级别锁

片段必须是公共静态类才能从实例状态正确重新创建

无法对非静态方法 getAssets() 进行静态引用 - 无法在片段中播放音频

支持动态或静态片段的不同屏幕尺寸?