类的成员是静态和非静态成员(实例成员)
当类的成员声明中包含了static修饰符,则为静态成员,反之则为实例成员
静态成员不能通过类的实例访问而是通过类名直接访问
静态方法能访问其他静态成员,但是不能访问实例成员
一个类在使用前必须将其实例化,才能使用其内容的方法和属性,但是一旦这个方法或属性被定义为”static”就可以直接调用。
方法重载:指同一个类中一旦方法名称相同,但方法中参数的数据类型,个数,或顺序不同与返回值无关
构造函数:是 类中有一个成员,它是一个特殊的方法,它通常在类的成员的最前面,叫做构造函数。它用于在创建实例时对对象进行初始化。
构造函数的特点:
1、没有返回类型,方法名与类名完全相同
2、构造方法可以有0个或多个不同数据类型的参数
3、可以声明为static(静态)
4、静态构造方法通常初始化类的静态变量
析构函数:
析构方法;清理或释非托管的资源行为
每一个类只有一个析构方法
析构方法不带参数
析构方法不能带修饰符
与类有相同的名称,但以一个“~”字符作为前缀
析构方法只能对类实例起作用,因此没有静态的析构方法
不能在代码中显示的调用析构方法
构造函数 析构函数
命名 与类名相同 ~类名
修饰符 可以带 不能带
是否可以静态 可以 不可以
个数 方法可以重载成一组函数 只能有一个
调用方法 创建对象系统调用或手动调用 没有任何途径人为调用 回收垃圾系统自己调用
属性:
读/写属性(同时具有get和set访问器)、
只读属性(只有get访问器)、
只写访问器(只有set访问器)
属性与索引器的区别
1, 语法不同
2、每个属性都有唯一的名称,且返回类型不能是void
3、属性不能被“重载”(两个属性名称相同,但类型不同)
4、索引器可以看作是重载[ ]操作符的一种方式
5、所有的索引器可以有一个或多个参数(如二维数组)
readonly 关键字表示字段的赋值只能在声明时赋值或者在构造函数中赋值可静态也可不是静态 字段可能具有不同的值 可运行时的常量
const 只能在该字段的申明中初始化 总是静态的 编译时的常量
this 访问自己的成员每一个成员方法(包括构造函数)都有一个this引用总是引用调用此方法的对象(实例)
this 出现在类的构造函数中的this,表示正在构造的对象本身的引用 出现在方法中,表示对该调用方法的对象的引用