对象是类实例化的产物
类可以看做对象的类型
类的成员包括 成员变量和方法
在类中创建方法的时候封装一段功能完整的代码:
[作用域] 返回类型 方法名()
{
}
返回类型是什么意思呢?
假如我们定义了一个计算圆面积的方法,那么返回类型就是double型,但一般若没有返回数值的时候就是void类型
方法中的每个参数必须要声明参数类型!
形参(方法内部使用的参数)和实参(调用方法时使用的参数)是针对值类型的参数
传进方法中的参数是实参的副本
新知识:
1。引用参数传递到方法的值是其本身而不是副本,那什么时候是引用参数呢?就是在参数前面加一个ref关键字标识,引用参数需要初始化,在定义方法参数的时候和调用含有引用参数方法的时候都需要ref关键字。
2。输出参数用途可以返回多个值,因为return只能返回一个值,使用out关键字标识,和引用参数很像但是不需要初始化。(其实不是很明白到底是咋用的???)
3。数组类型参数,就是说传递到方法体内的参数个数不确定,在方法体内往往是通过循环语句把数组参数遍历,需要params关键字标识。static void PrintArgs(params string[] args){}
4。可选参数,真是贼新鲜,意思呢其实就是你在方法中的参数的地方把一些参数给以默认值,然后在传递参数的时候就可以不给方法中的已经给与默认值的形参赋值,当然如果你给已经拥有默认值的形参赋予了初值,那么初值就会覆盖默认值
静态成员和非静态成员,成员呢?其实分为两种,一种就是成员变量一种就是方法,但是在类中定义的静态方法和非静态方法有什么区别呢?就是在调用上的区别
因为当实例化类的时候,非静态成员会跟着复制一份过去,但是静态成员不会,因此如果想要调用静态方法,就要用类.方法()调用,而非静态方法可以用类.方法()调用也可以用对象.方法()调用。最有意思的一点事就是,静态成员只能调用静态成员,而不能调用非静态成员,
private static int z = 10;
private int a = 30;
public static int Add(int x, int y)
{
return x + y + z;
}
add方法只能调用静态成员变量,不能调用非静态成员变量,但是非静态可以调用静态成员变量
构造器!!
只要创建类就要创建构造器,构造器起着初始化对象的工作,而且构造函数没有返回值,不是为void
对于数组参数我有一点模糊,也就是在原方法里,也就是形参我们可以写成params string[] args这种参数,然后方法中的参数我们要用循环来一一读入,但是在主函数中我们要用到这个方法的时候,传入实参,我们这个时候给方法传入的实参就要符合客观情况,就是传入(a,b,c)这样写,因为方法我们是不动的,为了独立性和耦合性,因此在形参的时候我们可以写数组的形式。