1:构造方法的可访问性

构造方法可以是共有的或私有的。

2:默认构造方法

默认构造方法就是不带参数的构造方法。

如果没有为类添加任何构造方法,系统会自动生成一个隐藏的默认构造方法;但如果用户添加了任意一个构造方法,系统就不会自动生成默认的构造方法了。也就是说,如果用户为类添加了自己的定义的构造方法,那么就只能使用用户定义的这些构造方法来生成对象了。

3:构造方法调用构造方法

格式如下:

构造方法名(参数列表) : this(参数列表)

{

方法体

}

举例:

class DerivedClass
{public DerivedClass() : this(100){Console.WriteLine("Derived Class's Default Constructor");}public DerivedClass(int i){Console.WriteLine("Derived Class's Constructor with Param: {0}", i);}
}

和Java的区别

Java中,构造方法调用另一个构造方法也是使用this(参数)的方法,但Java是将其作为一条语句放在方法体中的,而且这条this语句还必须是方法体的第一条语句。

4:在继承结构中,父类对象的生成

和C++、Java一样,如果有继承结构,那么在生成子类对象时会先生成父类对象。

默认情况下,在执行子类的构造方式(所有的构造方法)时会先自动调用父类的默认构造方法以生产父类对象,所以,如果在子类的构造方法中没有特别说明,而父类又没有默认的构造方法,系统会提示出错。

一般情况下,我们会在子类的构造方法中明确的告诉系统,子类的构造方法要调用父类的哪个构造方法。

格式如下:

子类的构造方法名 : base(参数列表)

{

方法体

}

这样,在执行这个构造方法之前,系统会先调用父类的相应的构造方法。

与Java的区别:Java中使用的关键字是super,而且也是作为语句放置于方法体的开头。

转载于:https://blog.51cto.com/3677403/1661565

C#中的类02:构造对象相关推荐

  1. 从plugin路径中读取依赖并构造对象——Azkaban源码解读之Alert plugin实现(一)

    第一步加载类路径:azkaban.executor.AlerterHolder allAlerters 是一个HashMap ,key为String,value为Alerter mailAlerter ...

  2. JavaWeb中HttpServletResponse类(Response对象)

    HttpServletResponse类和HttpServletRequest类一样,在服务器每次收到请求的时候就会创建一个response对象传递给doget()和dopost方法使用,HttpSe ...

  3. C#中的类声明和对象定义方法实验

    功能 设计控制台应用程序,声明一个人类Person和一个动物类Animal,它们都包含有公有字段legs(腿的数目)和保护字段weight(重量),定义它们的对象并输出相关数据. 程序 using S ...

  4. 面向对象(二)构造函数,this,static,类的成员,对象初始化顺序

    点击查看好文 TestCode package com.openlab.day10.object;public class Test {public static void main(String[] ...

  5. VBScript中的类

    文章目录 1 VBScript 中的类 1.1 对象.类和组件 1.2 类语句 1.3 定义属性 1.3.1 私有属性变量 1.3.2 Property Let 1.3.3 Property Get ...

  6. python中类和对象的内容_python中的类和对象

    摘要:本文主要介绍了python中的类和对象的基础内容.由于在c++中对类和对象已经有了较为深刻的认识,所以此部分就是主要熟悉一下创建方法和使用方法. 1.类.对象的创建和简单使用 主要观察创建类的方 ...

  7. js代码中可以有java的对象吗_js原型对象与Java类的区别

    标签: 在我学习Javascript的原型对象时,我总是不自觉地拿Java的类思想来做比较,时间久了,我渐渐认识到二者有巨大的不同. 首先,类是不能直接当方法来运行,它最简便的方式是调用其静态方法:而 ...

  8. java构造方法的签名_如何在 Java 中构造对象(学习 Java 编程语言 034)

    1. 构造器 Java 对象都是在堆中构造的. 先看看 Employee 类的构造器: public class Employee { private String name; private dou ...

  9. java 取对象的类_Java中通过Class类获取Class对象的方法详解

    前言 本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 阅读API的Class类得知,Class 没有公共 ...

最新文章

  1. es6学习笔记8--Map数据结构
  2. python字典内存分析_Python减少字典对象占用的七成内存
  3. st04 查看数据库日志
  4. activiti根据当前节点获取下一个UseTask节点
  5. Day5---D4:合规和审计管理
  6. linux 磁盘查看方式
  7. 软件测试 学习之路 DOS常用命令
  8. ubutn下安装英伟达显卡驱动
  9. Python对DICOM图像进行阈值分割
  10. mysql根据排序取前百分之二十_MySQL 性能优化 MySQL常见SQL错误用法
  11. 在公司交了十年社保了,退休了,自己还要补交六、七万元社保,你觉得该不该补交?
  12. 如何才能让项目团队高效稳定?
  13. apt不询问直接安装
  14. CTF-web题之简单的SQL注入
  15. 无需ROOT卸载或禁用vivo Z5手机的内置软件
  16. 计算机网络的应用领域有那些,计算机网络应用领域
  17. Linux工具参考篇(网摘)
  18. matlab二叉树期权定价,二叉树期权定价模型
  19. Windows7 换XP 字体 (QQ字体,桌面字体) 为宋体
  20. 在win10本地开发springboot项目能上传图片,并能通过URL直接从浏览器访问,但是部署到服务器上后能上传文件,但是通过浏览器无法访问图片

热门文章

  1. python之函数内部变量可以直接用name==__main__的变量
  2. 空列表不等同于None
  3. python写入excel数据教程_python 将数据写入excel
  4. 服务器2003蓝屏A5修复,求助windows 2003 蓝屏分析
  5. DevExpress的PdfViewer添加工具栏实现PDF打开、预览、保存、打印
  6. SpringBoot+Echarts实现请求后台数据显示饼状图
  7. MyBatisPlus条件构造器排序方法orderByDesc参数怎样构造
  8. BJUI接受TabID实现添加或编辑后自动刷新页面
  9. Atom 编辑器实时预览 HTML 页面
  10. 【知识图谱】知识存储