分左侧和右侧
左侧:只有一个返回值。但不限制类型,可以是对象类型。
右侧:参数类型,可以有16个。一般3~4个,用对象类型。
参数传递是值类型传递,除非用ref或in,out修饰。
()
{
}
//无名无参无返回无方法体
参数类型占位
void fun <T1,T2,T3,T4> (T1 t1, ref T2 t2)// 参数类型占位
// 最后一个占位类型是返回类型
public void fun ( void )
{
}
//左侧带修饰: public static
1:没有参数时,可以省略不写,或者加 void
void fun ()
void fun (void)
2:有默认值的参数,调用时可以不填b的值。(有默认值的要放最右)
public void fun ( int a , int b=null )
public void fun ( int a , int b=0x33 )
3: 参数尽量用 对象来传递。
public void fun ( int a , ref 人类 b=null )
ref是利用对象是引用类型的特点,对参数的修改,直接影响上层的对象值。
4:利用原有方法
public int fun (int a,int b,int c,int d)
:this(a,b,c) //直接利用之前写的方法。
{
}
5: out和ref是一样的作用,区别是在用之前可以不初始化。类对象在用之前是需要new初始化的。out不用。
public void fun ( int a , out int b=null )
6: params是参数是类似于数组,参数不确定具体的数量,只确定参数的类型。(参数是集合)
public void fun ( int a , params int b=null )
7:参数嵌套,3个参数的可以套2个参数的重名方法。
public void fun ( int a , int b )
public void fun ( int a , int b , int c )
fun(a,b)
8:参数指定
void fun ( 张三 a , 李四 b , 王五 c)
{
}
void fun ( 王五: 22, 张三: 11, 李四: 99 );
作用是,按自己的顺序给定参数。
9:静态方法 static
public static void fun ( int a, int b )
{
属性第n个 = 66; // 这个会报错,因为对象还没出生。
张三 = new 张三();
string str = (张三.年龄 = 66).ToString();
}
调用必须 命名空间.fun(33,44); 这样调用。
静态方法内不能直接调用属性,因为对象还没出生,只能在方法内new出对象,才能调用属性。
类内static的对象语句只初始化一次,下次再进 static不会再运行。
static成员:类所有派生的儿子都是使用同一个static成员。