1.同一个类中方法的调用:

静态方法可以直接调用静态方法

静态方法不能直接调用非静态方法,静态方法先生成。

非静态方法可以直接调用静态方法

如果静态方法要调用非静态的方法,必须使用实例成员

2.不同类中方法的调用

静态方法,使用类名.静态方法名称()

非静态方法使用,类的实例对象.方法名称()

3.方法的调用遵循的原则:一一对应原则,永远默认都是第一个实参赋值给第一个形参

* 类型需要一致,double--float,子类可以替换父类(反例)
* 数量需要一致,params,还可以有默认值(反例)
* 顺序需要一致 ,可以使用“参数=值”的方式,可选参数必须出现在所有必选按参数之后。
* 如果某个参数使用了(参数:值)的方式,那么之后的所有参数也必须使用这种格式。

4.普通参数传递时的特点

* 传递参数就是传递栈空间里面存储内容的副本

* 如果是值类型,那么栈空间里面存储的是真实的值

* 如果是引用那么栈空间里面存储的就是引用地址。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace 方法调用的原则{    class Program    {        /*         * 方法调用遵循的原则:一一对应原则,永远都是第一个实参赋值给第一个形参         * 1.类型需要一致:(double-->float--int  子类可以替换父类)---【反例】         * 2.数量需要一致:(params,还可以有默认值)---【反例】         * 3.顺序需要一致:可以使用”参数:值“的方式,这种方式术语是--命名参数。(PS:普通的参数传递,术语是:【位置参数】-->就是说每个实参,必须一一形参的位置)         */         static void Main(string[] args){            //2.数量需要一致:(params)---【反例】            GetSameParams();            GetSameParams(,,,);             //2.数量需要一致:还可以有默认值)---【反例】            ShowInfo();            ShowInfo(, "哈哈");             //3.顺序需要一致:可以使用”参数:值“的方式,这种方式术语是--命名参数。(PS:普通的参数传递,术语是:【位置参数】-->就是说每个实参,必须一一形参的位置)               GetName(lastName: );  //正确调用方式               GetName(age:, lastName: "fangsheng", firstName: "cao" );   //正确的调用方式,可以不必按照方法参数的顺序调用方法。【命名参数的方式调用】            //GetName(lastName: "fangsheng", firstName: "cao",23);//错误调用方法的例子:命名参数必须出现在所有指定的固定参数后面。【//如果某个参数值,使用了命名参数的方式,那么后面所有的参数,也必须使用这种格式。】         }         #region 3.顺序需要一致:可以使用”参数:值“的方式,这种方式术语是--命名参数。(PS:普通的参数传递,术语是:【位置参数】-->就是说每个实参,必须一一形参的位置)        /// <summary>        /// 3.顺序需要一致:可以使用”参数:值“的方式,这种方式术语是--命名参数。(PS:普通的参数传递,术语是:【位置参数】-->就是说每个实参,必须一一形参的位置)        /// </summary>        /// <param name="firstName"></param>        /// <param name="lastName"></param>        static void GetName(string firstName, string lastName, int age){         }        #endregion         #region   2.数量需要一致:(params,还可以有默认值)---【反例】        /// <summary>        ///2. 参数数组,数量可以随便传        /// </summary>        /// <param name="name"></param>        /// <param name="age"></param>        /// <param name="intParamsArray"></param>        static void GetSameParams(string name, int age, params int[] intParamsArray){         }         #endregion         #region 可选参数必须在所有必选参数后【错误范例】        /// <summary>        ///  可选参数必须在所有必选参数后【错误范例】        /// </summary>        /// <param name="age"></param>        /// <param name="name"></param>        //static void Show(int age = 30, string name)  //可选参数必须在所有必选参数后【错误范例】        //{         //}        #endregion         #region 2.数量需要一致:(params,还可以有默认值)---【反例】        /// <summary>        /// 2.数量需要一致:(params,还可以有默认值)---【反例】        /// </summary>        /// <param name="age"></param>        /// <param name="name"></param>        , string name = "")        {         }        #endregion         #region  1.类型需要一致:(double-->float--int  子类可以替换父类)---【反例】         #region double-->--int        /// <summary>        /// double-->--int        /// </summary>        /// <returns></returns>        static double GetValue()        {            ;            return a;//返回int类型的数        }        #endregion         #region double-->float        /// <summary>        /// double-->float        /// </summary>        /// <param name="num"></param>        /// <returns></returns>        static double GetValue(int num){            float a = 1.34F;            return a;        }        #endregion         #region  返回值为父类,可以返回子类        /// <summary>        /// 返回值为父类,可以返回子类        /// </summary>        /// <returns></returns>        static A GetValue1(){            B b = new B();            return b;        }        #endregion     }        #region 父子类测试    class A    {        int member;    }    /// <summary>    /// B继承A    /// </summary>    class B : A    {     }    #endregion         #endregion }


©著作权归作者所有:来自51CTO博客作者mb5fd86cce321a9的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. C#9.0 终于来了,您还学的动吗? 带上VS一起解读吧!
  2. C++入门
  3. 第7章 0202-面向对象编程基础,学习心得、笔记(类声明,类的实例化,类
  4. Linq 下的扩展方法太少了,您期待的 MoreLinq 来啦
  5. Enumerable 下又有新的扩展方法啦,快来一睹为快吧
  6. await,async 我要把它翻个底朝天,这回你总该明白了吧
  7. PHP类成员重载与命名空间
  8. 多线程基础知识
  9. 剩余参数与参数引用及回调函数:array_map(), array_filter,array_

随机推荐

  1. for和foreach哪个效率更高?为什么?
  2. php中的$是什么意思?
  3. 基于php生成xml的实例解析
  4. php实现联想搜索,你会吗?
  5. 详解PhpStorm一次性折叠所有函数或者方法
  6. php中carbon如何转成时间戳
  7. PHP中常用header头汇总
  8. PHP让人不知道的匿名函数的几种写法(附代
  9. 如何在php中实现construct构造方法
  10. PHP中三种设置脚本最大执行时间的方法