方法定义与方法重载

声明: 本文主要作为作者的复习笔记,由于作者水平有限,难免有错误和不准确之处,欢迎读者批评指正.

目录快捷跳转

    • 方法定义
    • 在Java中方法的定义语法
    • 返回值
    • 方法调用
    • 方法调用过程
    • 实参和形参的关系
    • 方法重载overload
    • 拓展

方法定义

  1. 在编程中,反复使用的代码可以封装成方法;需要调用时,直接调用方法即可,减少很多的重复代码编写;
  2. 方法定义在调用之前还是之后都可以;
  3. 方法定义时的参数称之为形参,此时不知道具体值,只知道类型;

在Java中方法的定义语法

修饰符 返回值类型 方法名称 (参数类型 形参名称){
//方法体代码
[return 返回值];
}

返回值

  1. 返回值类型是啥,有没有返回值,要根据实际情况来决定;
  2. 返回值返回给调用者来使用;
  3. 调用者是否需要在调用函数之后有一个结果,且这个结果是调用者所需要的;

方法调用

  1. 调用方法,只需要写方法名称(参数);
  2. 方法调用时传递的参数称之为实参,此时已经知道具体的值了;
  3. 调用方法时,实现了实参和形参的参数传递过程(将具体的数值传递给形参),进入方法体;

方法调用过程

调用方法—>传递参数—>找到方法地址—>执行被调方法的方法体—>被调方法结束返回—>回到主调方法继续向下执行

实参和形参的关系

  1. 实参和形参是两个独立的变量,实参赋值给形参只是把实参的数值拷贝一份给形参,不是把实参本身赋值给形参;
  2. 方法的形参是在方法声明时定义的,只知道类型,不知道具体值;
  3. 方法的实参是在调用方法时真正赋值给方法的具体数值;

方法的调用和执行过程,使用操作系统的"方法栈";先进后出的结构,每个方法的调用就对应一个"栈帧";方法的实参和形参是两个相互独立的实体,在不同的方法栈帧中.

方法没有返回值,定义方法时,写上void(不能省略);没有返回值的方法可以不写return语句,也可以写return提前结束方法的调用过程.

方法重载overload

  1. 同一个类中,定义了若干个方法名称相同,参数列表不同(参数的类型或个数不同),与返回值无关的一组方法,这样的一组方法称之为重载方法;
  2. 返回值可以相同也可以不同,不影响重载方法的定义;

拓展

  1. 之所以Java的打印函数println(可以接收任何类型),是因为JDK已经定义好了支持各种类型的不同重载函数println;
  2. Java编译器在调用方法时,根据实参的类型和个数决定调用的是具体的哪个重载方法;
  3. 调用函数时,实参的类型小于形参类型,将实参的类型隐式提升为形参的类型;
  4. 编译器根据方法名称和参数列表来唯一的定位一个函数;

你可能感兴趣的:(Java,java,开发语言)