今天,我们聊一聊一些基本问题:
1.修饰符有哪些?有什么区别呢?
首先大家想到的应该是 public:特点是所属类的成员和非所属类的成员都可以访问
private:只有所属类的成员才可以访问
protected:所属类或派生自所属类的类型可以访问
internal: 当前程序集可以访问,也就是 一个程序下的几个类
那么 还有一个就是 protected internal:不同的是,只有当前程序集他的子类 才可以访问
2.方法是什么呢,怎么用的呢?
方法就是由程序语句组成的,调用方法名 便可以使用了也就是 先定义方法,在调用方法
那么方法 这个程序 都包括什么呢?
包括:方法名称,参数列表,返回值,方法体,访问指定符
3.方法的参数传递类型有哪些?有什么区别?
1>传值 无需额外的修饰, 会保留原来存入的值,不会因为在调用方法中参数的改变而改变
2>传址ref 传入的参数必须先进行初始化, 它与传值 恰恰相反,会随着参数的改变而改变
3>输出参数out 方法返回之前初始化就可以,适用于方法返回多个值
4>数组参数 by array 需要 params
4. 静态方法; 关键字 static ,不能进行实例化,如果想想要使用,调用类名
特征: 仅包含静态成员,无法实例化,是密封的,不能包含实例构造函数;
5. 构造函数
构造函数是当你创建一个类的实例的时候被调用的一种特殊的方法。
构造函数的名字与包含它的类的名字一样。
有两种类型的构造函数:
1>实例构造函数:在类的实例创建时被调用,被用于初始化类数据成员
2>静态构造函数:用static关键字创建,他的值有共享功能,所以 就有个缺点就是 一个值被改,所有的值都被改;谨慎使用
不可以继承,也不能被直接调用;如果类中包括 Main 方法,则需要在调用Main方法之前执行静态构造函数
一个类可以同时拥有实例构造函数和静态构造函数
6..net回收资源类型与回收资源方式
1>托管资源和非托管资源:前者收CLR管理分配和释放资源,后者不受CLR管理,例如,文件,数据库连接,登陆远程文件,com对象等;
2>方式:析构函数:用于释放托管资源,也就是清理内存,并不用显示调用,与类的名字一样,但前面需要加一个"~"
IDisposable接口:释放非托管资源,需要显示调用