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

原创 2016年09月02日 10:06:24

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


        }
    }
}

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

【公开课】蓝鸥Unity3D ——游戏/VR/AR开发

【公开课】蓝鸥Unity3D ——游戏/VR/AR开发
  • sinat_35761779
  • sinat_35761779
  • 2016年11月04日 15:09
  • 1528

【蓝鸥给您支招】如何学Unity3D?有必要去参加培训吗?

如何学Unity3D?有必要去参加培训吗?
  • qq_36703442
  • qq_36703442
  • 2017年03月27日 15:07
  • 316

蓝鸥免费Unity3D教程讲解 Unity3D学习必看教程

蓝鸥免费Unity3D教程讲解 Unity3D学习必看教程
  • qq_36703442
  • qq_36703442
  • 2016年12月29日 14:31
  • 701

蓝鸥Unity开发基础——枚举类型

蓝鸥Unity开发基础——枚举类型一、声明枚举变量枚举类型的变量只有赋值之后才能使用只能讲有效的值赋给枚举变量不同枚举中的枚举值可以重复我们可以自定义枚举值...
  • sinat_35761779
  • sinat_35761779
  • 2016年08月19日 10:37
  • 402

蓝鸥Unity开发基础——字段

蓝鸥Unity开发基础——字段
  • sinat_35761779
  • sinat_35761779
  • 2016年08月23日 09:28
  • 175

蓝鸥Unity开发基础——List

蓝鸥Unity开发基础——List
  • sinat_35761779
  • sinat_35761779
  • 2016年09月06日 09:07
  • 1284

蓝鸥Unity开发基础——事件

蓝鸥Unity开发基础——事件
  • sinat_35761779
  • sinat_35761779
  • 2016年09月07日 10:00
  • 195

蓝鸥Unity开发基础——递归

蓝鸥Unity开发基础——递归
  • sinat_35761779
  • sinat_35761779
  • 2016年08月26日 09:34
  • 132

蓝鸥Unity开发基础——栈和队列

http://edu.csdn.net/course/detail/2050
  • sinat_35761779
  • sinat_35761779
  • 2016年09月06日 09:15
  • 163

蓝鸥Unity开发基础——方法重载

蓝鸥Unity开发基础——方法重载
  • sinat_35761779
  • sinat_35761779
  • 2016年08月26日 09:32
  • 133
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:蓝鸥Unity开发基础——静态类
举报原因:
原因补充:

(最多只允许输入30个字)