• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#中私有构造函数的特点和用途实例解析

C#中私有构造函数的特点和用途实例解析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#静态构造函数,c#中构造函数,c#构造函数,c#调用构造函数,c#构造函数的作用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文以实例形式分析私有构造函数的特点,以及在何种情况下使用私有构造函数。相信对于大家更好的理解C#中的私有构造函数有一定的促进作用。具体如下:

一、带私有构造函数的类不能被继承

在Animal类中声明一个私有构造函数,让Dog类来继承Animal类。

  public class Animal
  {
    private Animal()
    {
      Console.WriteLine("i am animal");
    }
  }
  public class Dog : Animal
  {
    
  }

</div>

运行程序,生成解决方案,报错如下图所示:

二、带私有构造函数的类不能被实例化

运行如下测试代码:

  class Program
  {
    static void Main(string[] args)
    {
      Animal animal = new Animal();
    }
  }
  public class Animal
  {
    private Animal()
    {
      Console.WriteLine("i am animal");
    }
  }

</div>

程序运行后生成解决方案,报错如下图所示:

三、私有构造函数的应用

有些时候,我们不希望一个类被过多地被实例化,比如有关全局的类、路由类等。这时候,我们可以为类设置构造函数并提供静态方法。

  class Program
  {
    static void Main(string[] args)
    {
      string str = Animal.GetMsg();
      Console.WriteLine(str);
      Console.ReadKey();
    }
  }
  public class Animal
  {
    private Animal()
    {
      Console.WriteLine("i am animal");
    }
    public static string GetMsg()
    {
      return "Hello World";
    }
  }

</div>

总结:一旦一个类被设置成私有构造函数,就不能被继承,不能被实例化,这种情况下,通常为类提供静态方法以供调用。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#小知识之有趣的类型静态构造器
  • C#生成单页静态页简单实例
  • C#中私有构造函数的特点和用途实例解析
  • C#中静态构造函数的几点说明介绍
  • C# 静态构造函数使用总结
  • c# 引用类型构造器

相关文章

  • 2017-05-28使用winapi安装Windows服务示例程序
  • 2017-05-28Windows系统中C#读写ini配置文件的程序代码示例分享
  • 2017-05-28关于C#.net winform程序验证moss的集成身份认证实例
  • 2017-05-28C#实现的MD5加密功能与用法示例
  • 2017-05-28举例讲解C#中自动实现的属性
  • 2017-05-28C#用Lambda和委托实现模板方法
  • 2017-05-28C#获取远程XML文档的方法
  • 2017-05-28IIS下调用证书出现异常的解决方法 (C#)
  • 2017-05-28C#自定义繁体和简体字库实现中文繁体和简体之间转换的方法
  • 2017-05-28C#使用回溯法解决背包问题实例分析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#列出所有物理网络适配器的方法
    • Unity3D中脚本的执行顺序和编译顺序
    • C#防SQL注入代码的三种方法
    • C#动态生成按钮及定义按钮事件的方法
    • C#中事件的动态调用实现方法
    • c#下注册表操作的一个小细节
    • 自动输出类的字段值实用代码分享
    • C#中math类的全部运算方法(总结)
    • C#基础知识系列八const和readonly关键字详细介绍
    • C#实现的文件操作封装类完整实例【删除,移动,复制,重命名】

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有