zoukankan      html  css  js  c++  java
  • 静态构造函数

    写在前面的话

    对于构造函数,我们都很熟悉,用于在实例化类的时候,使用new关键字,new出一个实例来供使用。

    那么对于静态构造函数,充当的是什么角色呢,它和非静态构造函数有什么区别呢?它又有什么好处呢?

    描述

    静态构造函数用于初始化任何静态数据(静态方法里只能引用静态字段,静态构造函数也属于静态方法的一种)。

    静态构造方法在创建第一个实例或引用类的静态变量之前,会自动调用静态构造函数。

    特点:

    1.静态构造函数没有修饰符,也没有参数

    2.静态构造方法无法继承,且无法手动调用

    3.无参数的静态构造函数可以和无参数的非静态函数共存(尽管方法前面相同,但是一个属于类,一个属于实例)

    4.如果类中含有带初始值的静态成员,那么编译器会生成默认的静态构造函数

    典型应用:

    当类使用日志文件时,可以使用这种构造函数,向其中写入日志。

    示例:

        public class Person
        {
            static string name = "张三";
    
            static Person()
            {
                /*
                 * 如果注释下面的话
                   * 则GetName方法返回 张三
                   * 否则返回 李四
                   */   
                 name = "李四";
            }
    
            public string GetName()
            {
                return Person.name;
            }
        }

    我们来新建一个Student类,让它继承自Person类,看看GetName方法会出现得到什么呢?

        public class Student : Person
        {
            
        }
    此时,GetName方法获取的值仍然是 李四。此代码等同于:
        public class Student : Person
        {
            public Student()
                : base()
            {
    
            }
        }
    注意:
    如果有子类继承自带静态构造方法的类时,子类必须有空构造函数,否则会报错。
  • 相关阅读:
    各组评价
    团队冲刺第十天
    团队冲刺第九天
    团队冲刺第八天
    团队冲刺第七天
    人力资源绩效管理系统工作流程
    初次安装Android studio问题
    后台无法登陆——11.10
    html学习之radio标签——小白
    安装一些软件时可能出现的问题【internal error 2503】
  • 原文地址:https://www.cnblogs.com/oneword/p/2857628.html
Copyright © 2011-2022 走看看