传智播客视频
2015-12-13 17:35
155 查看
一、什么是构造函数呢?
就是用来在创建对象时初始化对象,也就是给这些成员赋初值。一个类中可以有多个构造函数。在对象被创建的时候,编译系统会给对象分配一定的内存空间,并自动调用该函数来完成成员变量的初始化工作。
二、我们所了解的有几种构造函数ne?
1.无参数构造函数
如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做。只要你写了一个下面的某一种构造函数,系统就不会再自动生成这样一个默认的构造函数,如果希望有一个这样的无参构造函数,则需要自己显示地写出来
2.一般构造函数(重载构造函数)
一般构造函数可以有各种参数形式,一个类可以有多个一般构造函数,前提是参数的个数或者类型不同(基于c++的重载函数原理), 创建对象时根据传入的参数不同调用不同的构造函数
3.复制构造函数(拷贝构造函数)
复制构造函数参数为类对象本身的引用,用于根据一个已存在的对象复制出一个新的该类的对象,一般在函数中会将已存在对象的数据成员的值复制一份到新创建的对象中
三、在使用的过程中我们需要注意?
1、构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。
2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用构造函数来初始化类,也就是说我们无法直接调用构造函数,也就无法控制什么时候执行静态构造函数了。
3、一个类只能有一个静态构造函数,最多只运行一次。,
4、无参数的构造函数可以与构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。构造函数不可以被继承。
5.如果没有写构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。
就是用来在创建对象时初始化对象,也就是给这些成员赋初值。一个类中可以有多个构造函数。在对象被创建的时候,编译系统会给对象分配一定的内存空间,并自动调用该函数来完成成员变量的初始化工作。
二、我们所了解的有几种构造函数ne?
1.无参数构造函数
如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做。只要你写了一个下面的某一种构造函数,系统就不会再自动生成这样一个默认的构造函数,如果希望有一个这样的无参构造函数,则需要自己显示地写出来
2.一般构造函数(重载构造函数)
一般构造函数可以有各种参数形式,一个类可以有多个一般构造函数,前提是参数的个数或者类型不同(基于c++的重载函数原理), 创建对象时根据传入的参数不同调用不同的构造函数
3.复制构造函数(拷贝构造函数)
复制构造函数参数为类对象本身的引用,用于根据一个已存在的对象复制出一个新的该类的对象,一般在函数中会将已存在对象的数据成员的值复制一份到新创建的对象中
三、在使用的过程中我们需要注意?
1、构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。
2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用构造函数来初始化类,也就是说我们无法直接调用构造函数,也就无法控制什么时候执行静态构造函数了。
3、一个类只能有一个静态构造函数,最多只运行一次。,
4、无参数的构造函数可以与构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。构造函数不可以被继承。
5.如果没有写构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。
相关文章推荐
- 第十五周 项目三 B-树的基本操作
- [LeetCode]:Single Number III
- Node.js实战(1)
- 铺垫一个 数据类型
- Person Re-identification Datasets
- 关于NestableRuntimeException异常的解决
- RecyclerView的事件监听
- mysql修改表alter小结
- Java 多线程(四)线程间的通信jdk1.5中Lock,Condition----各种锁的相关详细概念
- 菜鸟学习Hibernate——简单的增、删、改、查操作
- onvif学习笔记2:了解onvif
- MTK RF参数写入代码操作步骤 (2012-09-25 11:43:10)
- NSURLSessionConfiguration的简单实用
- GBDT(MART) 迭代决策树入门教程 | 简介
- 可与教科书相媲美的书——《世界是数字的》
- 简单的ajax让前端jquery与后台node.js交互
- innodb_buffer_pool特性和参数调整学习
- Photo Editing Extension 详解 (附带应用滤镜Demo)
- 【转】三种不同类型的ssh隧道
- maven编译,控制台中文乱码解决方案