天天看点

蓝鸥Unity开发基础——静态类

蓝鸥Unity开发基础——静态类

一、静态类

静态类需要静态修饰符——关键词static

用static修饰的成员时静态成员

静态成员只能由类来调用

用static修饰的类是静态类

静态类不能实例化,只能包含静态成员和const常量

蓝鸥Unity开发基础——静态类

关于静态类的具体使用方式,我们用代码进行演示:

using System;

namespace Lesson_17

{

    //静态 static

    //静态的字段,属性或者方法,只能由类调用,不能够由实例调用

    //使用类创建对象的过程叫做实例化,对象也可以称为实例

    //静态类

    //静态类中,只能包含静态的成员(字段,属性,方法),const常量

    public static  class A{

        public static  int i;

//        public  A(){

//        }

        //静态方法

        public static  void Test(){

            Console.WriteLine ("Test");

        }

    }

    class MainClass

    {

        public static void Main (string[] args)

        {

            //直接使用类名进行调用静态成员

//            A.i = 10;

//            Console.WriteLine (A.i);

//            A.Test ();

            //未加静态修饰符调用方式

//            A a = new A ();

//            a.i = 10;

//            Console.WriteLine (a.i);

            //在内存中一共有五个区域

            //1、堆区——需要程序员手动开辟并管理内存

            //2、栈区——有系统自动完成内存管理

            //3、静态区(全局区)——我们要讲解的

            //4、常量区——用于存放常量

            //5、代码区——存在程序运行所需要的代码

        }

    }

}

构造方法也可以设置为静态

静态构造不能有参数和访问修饰符

不管是不是静态类,都可以有静态构造

静态构造会在第一次实例化或调用静态成员时调用

蓝鸥Unity开发基础——静态类

关于静态构造方法具体使用方式,我们用代码进行演示:

using System;

namespace Lesson_17

{

    //静态 static

    //静态的字段,属性或者方法,只能由类调用,不能够由实例调用

    //使用类创建对象的过程叫做实例化,对象也可以称为实例

    //静态类

    //静态类中,只能包含静态的成员(字段,属性,方法),const常量

    public static  class A{

        public static  int i;

//        public  A(){

//        }

        //1、静态构造方法前不允许添加访问修饰符

        //2、静态构造方法可以存在于静态类中,也可以在普通类中

        //静态构造方法

        //静态构造方法会在首次访问类的静态成员时调用

        static A(){

            Console.WriteLine ("A的静态构造方法");

        }

        //静态方法

        public static  void Test(){

            Console.WriteLine ("Test");

        }

    }

    public class B{

        public static int age;

        //普通类中的静态构造方法

        //静态构造会在创建对象并初始化之前调用

        static B(){

            Console.WriteLine ("B的静态构造方法");

        }

    }

    class MainClass

    {

        public static void Main (string[] args)

        {

            //直接使用类名进行调用静态成员

            A.i = 10;

            Console.WriteLine (A.i);

            A.Test ();

            B b=new B();

//            B.age = 10;

            //未加静态修饰符调用方式

//            A a = new A ();

//            a.i = 10;

//            Console.WriteLine (a.i);

            //在内存中一共有五个区域

            //1、堆区——需要程序员手动开辟并管理内存

            //2、栈区——有系统自动完成内存管理

            //3、静态区(全局区)——我们要讲解的

            //4、常量区——用于存放常量

            //5、代码区——存在程序运行所需要的代码

        }

    }

}