1.访问类型
Public:没有访问限制,对任何类的任何方法都是可见的;
Private:类A中定义为private类型的成员只有类A中的方法才能进行访问;
Protected:类A中定义为protected类型的成员只有类A中的方法以及继承类A的类的方法才能进行访问;
internal:类A中定义为inlternal类型的成员可以被类A所在程序集中的任何类的方法访问;
protected internal:类A中定义为protected internal类型的成员可以被类A中的方法,以及继承类A的类的方法,或者类A所在程序集中的任 何类的方法访问;
private类型是默认的访问类型。
2.数值类型(int、char等)一般在栈上创建,引用类型(对象)通常使用关键字new在堆上创建。
3.不同数据类型的默认值
int:0 long:0 float:0.0 double:0.0 bool:false char:'/0' string:"" Objects:null
4.构造函数的作用就是创建特定类的对象,并赋给对象有效的状态值;默认的构造函数只负责创建对象,而不做其他的操作。
构造函数的函数名必须与所定义的类的类名完全一致,构造函数没有返回值,而且一般情况下都被声明为public类型。
在构造函数中可以对已经初始化的成员变量的值进行修改。
拷贝构造函数在对类的成员变量赋值时,是通过将已创建的同一类的其他对象的成员变量复制给当前创建对象的变量实现的。
5.关键字this
关键字this是对当前对象的引用,可以在类的非静态成员方法中使用。
用法一:使用this引用限定对象的成员变量,以避免由于参数名与成员变量名相似而引起执行错误。
用法二:在一个方法中,将当前对象作为参数传递给其他方法。
用法三:配合数组的索引使用。
6.实例成员是与类的实例相关的一种类型,而静态成员则是类的一部分;
静态方法没有this引用,因为他没有可引用的实例;
在静态方法中,不能直接访问类的非静态方法和变量;如若要访问变量,则该变量也必须是静态变量;
对所有的静态构造方法都不可以规定其访问类型;
静态成员变量(定义时必须初始化)通常用来保存当前类的实例化对象的数目;
7.ref out
数值类型的参数给方法传递的是具体的数值。
ref类型的参数传递给方法的是某一变量的引用,并且允许在方法内部对变量的值进行修改。
out类型的参数只是用来从方法中获取具体信息。
例:
运行结果:
大家好,我是天行者仁,今年21岁,很高兴认识各位!
使用ref和out前:
姓名: 年龄:102
使用ref和out后:
姓名:天行者仁 年龄:21