博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#总结
阅读量:2058 次
发布时间:2019-04-29

本文共 1214 字,大约阅读时间需要 4 分钟。

public:公有的,在哪都能访问

private:私有的,只有在类的内部才能访问

 

当我们创建好一个类的对象后,需要给这个对象的每个属性去赋值

我们管这个过程称为对象的初始化

 

静态和非静态的区别

1)在非静态类中,既可以有实例成员,也可以有静态成员。

2)在调用实例成员的时候,需要对象名.实例成员

     在调用静态成员的时候,需要使用类名.静态成员

总结:静态成员必须使用类名去调用,而实例成员使用对象名调用

          静态函数中,只能访问静态成员,不允许访问实例成员

         实例函数中,既可以使用静态成员,也可以使用实例成员

         静态类中只允许有静态成员,不允许出现实例成员

使用:

1)如果你想要你的类当做一个“工具类”去使用,这个时候可以考虑将类写成静态的

2)静态类在整个项目中资源共享

只有在程序全部结束后, 静态类才会释放资源

 

堆 栈  静态存储区域

释放资源,GC Garbage Collection 垃圾回收器

 

构造函数

作用:帮助我们初始化对象(给对象的每个属性依次赋值)

构造函数是一个特殊的方法

1)构造函数没有返回值,连void都没有

2)构造函数的名称必须跟类名一样

 

创建对象的时候会执行构造函数

构造函数式可以重载的

 

类当中会有一个默认的构造函数,当你写一个新的构造函数后,不管是不是无参数的,那个默认的无参数的构造函数被干掉了

 

new关键字

new帮我们做了3件事

1)在内存中开辟一块空间

2)在开辟的空间中创建对象

3)调用对象的构造函数进程初始化对象

 

 

值类型和引用类型

区别:

1、值类型和引用类型在内存上存储的地方不一样

2、在传递值类型和传递引用类型的时候,传递的方式不一样

值类型称之为值传递,引用类型称之为引用传递

一般的值类型和引用类型:

值类型:int、double、bool、char、decimal、struct、enum

引用类型:string、自定义类、数组

存储:

值类型的值是存储在内存的栈当中

引用类型的值是存储在内存的堆中

 

字符串

1)字符串的不可变性

当你给一个字符串重新赋值后,老值并没有销毁,而是重新开辟一块空间重新存储新值

当程序结束后,GC扫描整个内存,如果发现有的空间没有指向,则立即把它销毁

 

2) 我们可以将字符串看作是char类型的一个只读数组

ToCharArray:将字符串转化为数组

new string(char[] chs):将char数组转化为字符串

 

继承的特性

1.继承的单根性:一个子类只能有一个父类

2.继承的传递性

3.子类没有继承父类的构造函数,但是,子类会默认调用父类的无参的构造函数,创建父类对象,使子类能够使用父类的成员

所以,如果在父类中重新写一个有参数的构造函数后,那个无参数的构造函数被销毁,子类就调用不到了,所以子类会报错

解决办法:

1.在父类中重新写一个无参数的构造函数

2.在子类中显式调用父类的构造函数,使用关键字:base()

 

 

 

转载地址:http://dpxlf.baihongyu.com/

你可能感兴趣的文章
Windows下使用VS2015编译openssl库
查看>>
Win10+VS2015编译libcurl
查看>>
Windows下使用jsoncpp
查看>>
Ubuntu下测试使用Nginx+uWsgi+Django
查看>>
Windows下编译x264
查看>>
visual studio调试内存泄漏工具
查看>>
开源Faac实现PCM编码AAC
查看>>
Windows下wave API 音频采集
查看>>
借船过河:一个据说能看穿你的人性和欲望的心理测试
查看>>
AndroidStudio 导入三方库使用
查看>>
Ubuntu解决gcc编译报错/usr/bin/ld: cannot find -lstdc++
查看>>
解决Ubuntu14.04 - 16.10版本 cheese摄像头灯亮却黑屏问题
查看>>
解决Ubuntu 64bit下使用交叉编译链提示error while loading shared libraries: libz.so.1
查看>>
MFC程序添加console窗口+printf打印输出信息
查看>>
VS生成DLL文件供第三方调用
查看>>
Android Studio color和font设置
查看>>
android GLSurfaceView匹配屏幕宽度及视频宽高比设置view大小
查看>>
解决用android Studio开发不能去除标题栏的问题
查看>>
[Python] windows下360急速浏览器获取URL的Headers
查看>>
AndroidStudio 清除无用资源压缩项目大小
查看>>