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

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

一、静态类

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

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

静态成员只能由类来调用

用static修饰的类是静态类

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


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

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、代码区——存在程序运行所需要的代码


        }
    }
}

 

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

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

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

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

 

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

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、代码区——存在程序运行所需要的代码


        }
    }
}

 

 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35761779/article/details/52411349
个人分类: Unity3D
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭