C#拾遗系列(3):构造函数
1. 主要演示构造函数的继承
- 声明空构造函数可阻止自动生成默认构造函数。
- 如果您不对构造函数使用访问修饰符,则在默认情况下它仍为私有构造函数。
- 通常显式地使用 private 修饰符来清楚地表明该类不能被实例化。
2. 静态构造函数
- 静态构造函数具有以下特点:
- 静态构造函数既没有访问修饰符,也没有参数。
- 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。
- 无法直接调用静态构造函数。
- 在程序中,用户无法控制何时执行静态构造函数。
- 静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
- 静态构造函数在为非托管代码创建包装类时也很有用
3. 示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Description: 构造函数测试
namespace NetTest
{
public class Father
{
public Father()
{
Console.Out.WriteLine("Father say");
}
public static Father()
{ }
*/
public Father(string s)
{
Console.Out.WriteLine(s + ":Father Say");
}
}
public class Son:Father
{
/*
//调用父无参构造函数类构造函数
public Son()
{
Console.Out.WriteLine("Son say");
}
*/
public Son(string s)
{
Console.Out.WriteLine("good son say:");
}
/* base显示调用父类构造函数
public Son()
: base("jack")
{
Console.Out.WriteLine("Son say");
}
*/
/*子类会隐示调用父类无参构造函数*/
/*this调用自身重载的构造函数*/
public Son()
: this("call myself another constructor")
{
Console.Out.WriteLine("above sentence calling myself");
}
}
public class TestConstructor
{
public void Test()
{
new Son();
}
}
}
C#拾遗系列(3):构造函数相关推荐
- Go语言自学系列 | golang构造函数
视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...
- C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型...
本文内容: 继承 Equal示例 结构和类 属性 Ref and Out 类操作 扩展方法 接口 可空类型 分部类 1. 继承 using System; using System.Collectio ...
- C#面向对象系列(2):构造函数的用法
1. 如果不为类编写构造函数,编译器就会创建一个默认的构造函数,运行时会在创建新对象时调用它. 2. 构造函数互相之间的可链接关系 1using System; 2 3namespace We ...
- Java深海拾遗系列(9)--- 关于Java序列化的10个面试问题
大多数商业项目使用数据库或内存映射文件或只是普通文件, 来满足持久性要求, 只有很少的项目依赖于 Java 中的序列化过程.无论如何,这篇文章不是 Java 序列化教程或如何序列化在 Java 的对象 ...
- Java深海拾遗系列(8)--- 10 个最难回答的 Java 问题
1.为什么等待和通知是在 Object 类而不是 Thread 中声明的? 一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢.Java编程的常识和深入了解有助于回 ...
- C#拾遗系列(4):索引器
1. 概述 索引器允许类或结构的实例就像数组一样进行索引.索引器类似于属性,不同之处在于它们的访问器采用参数.索引器在语法上方便您创建客户端应用程序可将其作为数组访问的类.结构或接口.索引器经常是在主 ...
- C#拾遗系列(8):异常
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace NetT ...
- SharePoint Enterprise Search基础知识点拾遗系列之二
三种Gatherer Projects ================== Main Gatherer Project(Portal_Content) ------------ Portal_Con ...
- C#拾遗系列(5):泛型委托
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace NetT ...
最新文章
- 删除某个文件夹下的所有文件
- 新元素之hgroup,header,footer,address,nav
- sum of two integers
- 为什么短视频难逃【单列沉浸式】的真香定律?
- Python lambda函数demo
- OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)
- php 截取www后面的目录,php-如何从字符串路径中获取最后一个目录
- Halcon数据类型
- 13.2 Question Answering 问答系统意境级讲解
- 17.卷1(套接字联网API)--- ioctl 操作
- pygame详细安装教程
- 解决翻译论文时出现的换行问题-网页翻译-谷歌插件-翻译助手
- 反其道而行 - 登录gitbub
- 素数----南阳OJ
- torch.nn.Conv2d详解
- 汽车外倾角和前束的概念
- 胡润研究院发布的中国民营企业500强榜单,腾讯第一
- 基于arduino的智能家居系统
- Android-WebView加载网页
- element 表单只允许输入数字和两位小数,保留两位小数(四舍五入) 小数不足两位补0