)
一、先搞懂两大分类维度我们可以从两个核心维度对方法进行划分两两组合就形成了编程里最常用的四种方法类型按参数划分无参数方法、有参数方法判断依据是否需要外部传入数据按归属划分非静态实例方法、静态方法判断依据方法属于对象还是属于类下面我们逐个拆解从定义、特点、场景、调用规则全方位解析。二、维度一有参数 VS 无参数方法判断标准很简单方法执行逻辑是否需要外界提供数据。一句话总结无参是 “自给自足”有参是 “来料加工”。1. 无参数方法定义与语法方法声明时括号内为空不接收任何外部数据语法示例public void Show() { ... }核心特点方法的执行逻辑完全依赖对象自身的属性 / 状态行为固定、输出结果确定不需要外部干预。适用场景展示对象自身信息比如打印用户姓名、分数、账号信息执行固定流程操作比如打印欢迎语、系统提示重置对象内部状态将属性恢复为初始值代码示例以学生类为例Show()直接读取对象自身的姓名、分数无需传参internal class StudentGrade { public string _name; public int _math; public int _english; // 无参数方法打印自身信息 public void Show() { Console.WriteLine($我叫{_name}数学分数{_math}英语分数{_english}); } }2. 有参数方法定义与语法方法括号内定义参数列表用来接收外部传入的数据语法示例public int Add(int a, int b) { ... }核心特点参数是方法和外界交互的桥梁方法逻辑会随着传入数据动态变化通用性、灵活性更强。适用场景数值计算、数据判断、数组检索动态修改对象属性、执行分支逻辑所有依赖外部输入才能完成的功能。代码示例数组检索方法必须传入要查找的元素才能完成判断public static bool Contains(int[] arr, int target) { for (int i 0; i arr.Length; i) { if (arr[i] target) return true; } return false; }小总结快速判断口诀不靠外部数据就能运行 → 无参必须外界传值才能运行 → 有参。三、维度二静态 VS 非静态实例方法这是初学者最容易混淆的知识点核心区分方法归属于「对象」还是「类」。我们用生活化比喻 底层逻辑双重讲解。1. 非静态方法实例方法定义与归属没有static关键字修饰归属于类的具体对象实例就像每个学生独有的行为只作用于当前对象。核心特点调用前提必须先用new创建对象通过对象名.方法名()调用访问权限可以直接访问当前对象的所有实例属性、实例方法内存生命周期对象创建时分配内存对象被垃圾回收后内存同步释放调用示例StudentGrade stu new StudentGrade(); stu._name 张三; stu._math 90; // 2. 对象调用实例方法 stu.Show();2. 静态方法定义与归属被static关键字修饰归属于类本身不属于任何单个对象。好比班级的规章制度全体学生共享。核心特点调用前提无需创建对象直接通过类名.方法名()调用访问权限只能直接访问静态成员不能直接访问实例属性 / 实例方法内存生命周期类第一次加载时就分配内存常驻内存程序结束后才释放。调用示例// 静态方法直接用类名调用无需 new 对象 StudentGrade.Ttt();静态与实例方法交互铁律静态方法 → 不能直接访问实例成员静态方法属于类调用时可能还没有创建任何对象无法确定访问哪个对象的数据直接编写会编译报错。实例方法 → 可以直接访问静态成员只要对象被创建类一定已经加载完成静态成员必然存在访问不受限制。小总结调用口诀对象点实例类名点静态设计口诀描述单个对象行为 → 实例方法通用工具、类共享功能 → 静态方法。