this的用法和构造函数和析构函数和普通函数的区别

this的用法和构造函数和析构函数和普通函数的区别

ID:32658466

大小:58.61 KB

页数:5页

时间:2019-02-14

this的用法和构造函数和析构函数和普通函数的区别_第1页
this的用法和构造函数和析构函数和普通函数的区别_第2页
this的用法和构造函数和析构函数和普通函数的区别_第3页
this的用法和构造函数和析构函数和普通函数的区别_第4页
this的用法和构造函数和析构函数和普通函数的区别_第5页
资源描述:

《this的用法和构造函数和析构函数和普通函数的区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、构造方法的特殊Z处:构造方法与类的名称一样,但是没有返冋类型.构造方法的语法:[修饰符]类型(){〃构造方法的主体}1:构造方法的用途是什么?构造方法的用途:用來初始化成员变量的.每一个类至少有一个构造方法,如果不提供,编译器自动生成一个没有参数的构造方法(在这个构造函数屮为成员变量都初始化).如果提供了一个构造方法,那么不会生成默认的构造方法•如杲要让类的成员变量的初始值是非默认值,那么必须使用构造方法•非静态构造方法又叫做构造器;2:构造方法由谁来调用?构造方法是在每次创建对象时隐式的被调用.3:当用new创建一个对象时

2、,系统主要做了哪些工作?1:首先,公共运行时为类分配内存;2:公共运行时调用构造方法来初始化所有的字段.4:什么时候用到构造方法?如果需要用到具有不同初始状态的对象,就可以用构造方法的重载.静态构造方法:1:用于初始化类的静态成员;2:可以和类的非静态构造方法共存;3:静态构造方法不能有参数和返回类型和访问修饰符(例如public);4:静态构造方法不能重载,也就是静态构造方法只能有一个.5:只能被执行一次,不管创建了多少个对彖,只能在类的第一个对象创造前执行.静态的构造方法容易产生的错误:classCatstringPin

3、gZi;intPrice;stringColor;staticCat(){PingZi="xiaohuamao";=5;Color=〃黑色";}}在构造方法中this的妙用:staticvoidMain(stringL]args){Catmaol=newCat(5);Catmao2=newCat("l〃);在主函数屮:}classCat{stringPingZi;intPrice;stringColor;publicCat(inta)f

4、}publicCat(stringb):thisC5*)

5、f

6、)}publicCat(stringb):this('5')KConsole・WriteLineCok*);}}如杲this()中的是一个int类型,那么就会找不到参数为int类型的构造方法,就会报错.如果this()里边的参数不是常量,是变量也是可行的,例如:classCat{publicCat(stringa){

7、}publicCat(charb,charc){}publicCat(stringa,stringb):this(a)(#S0stringastaticvoidMain(string[]args)Cata=ne

8、wCat("5");Catb=newCatCO","5^);在主程序这样写:}会根据this内的参数类型去寻找具体的构造方法”这个a和b)中的string是保持一致的publicCat(stringa,string:this(a)也就是this(a)里边的a传递给构造方法中的参数.This()关键字里边的参数数据类型不一定和构造方法的参数类型相同,如果publicCat(stringa,stringb):this(是这样,则寻找构造方法参数类型为string的,如果是publicCat(stringa,stringb)这样,

9、:this(V)则则寻找参数类型为char类型的构造方法.this()这种用法只能用在构造方法的重载,也在普通的其他方法(例如重载方法中)都不能使用.非静态的成员在对象没有创建的时候是没有初始化的,所以静态的方法不能访问非静态的.总结一句话:静态的方法不能访问非静态的方法和非静态的成员.构造方法是类中特殊类型的方法:与类同名;不返回值关键字:〜构造方法是由C#的垃圾冋收器调用垃圾回收器是公共运行时的一个重要组件,用来释放内存的.垃圾回收器的工作原理:垃圾回收器在定期或在内存状态要求[内存已满]时通过销毁不再需要或不在被引用的

10、对象來释放内存.垃圾回收器销毁对象释放内存的条件是:1:对象没有被引用,即:对象=null;2:对象在系统的销毁列表中没有标记;垃圾回收器回收的机理:1:垃圾回收器定期或在内存状态要求吋,发现没有被引用的对象,这些对象直接会被销毁;2:如果对象被标记,就会调用销毁器线程,线程调用析构方法;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。