1.局部变量和成员变量
作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
初始值不同
系统会给成员变量一个初始值
系统不会给局部变量赋予初始值
string name ;//成员变量,系统默认提供一个值
void Print()
{
int age=20;//局部变量
Console.WriteLine(age);
Console.WriteLine(name);
}
2.静态(static)
静态变量和实例变量两者的区别:
1、静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分配;每创建一个新的实例对象,就会为实例变量分配不同的内存
2、静态变量可以直接通过类名来访问,实例变量需要通过各个对象访问
3、创建多个对象时,用static修饰的变量共享一个内存空间;没有用static修饰的变量不共享内存空间。
静态方法和实例方法两者的区别:
1.静态方法只能访问静态变量;实例方法既可以访问实例变量,也可以访问静态变量
2.静态方法在Main方法中可以直接使用;实例方法在Main方法中必须通过对象调用
3.this
this:指的是类的实例
this的用法:
1、当成员变量和局部变量同名时,如果想调用成员变量,用this
2、当构造方法互相调用时,用this
4.构造方法
定义:
方法名称和类名一致的方法,没有任何返回类型,并且也没有void。
特征:如果没用写构造方法 系统会默认提供一个无参的构造方法,方法里面是空的
如果写 会覆盖系统默认的
作用:初始化成员变量
//static void Main(string[] args)//作用:调用属性和方法
//{
// //Test10 t1 = new Test10();
// Test10 t2 = new Test10(10.2);
//如果没用写构造方法 系统会默认提供一个无参的构造方法,方法里面是空的
//如果写 会覆盖系统默认的
5.方法重载
同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载
方法的重载的规则:
- 方法名称必须相同。
- 参数列表必须不同。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以称为方法的重载。