美文网首页
7.Java方法及内存图

7.Java方法及内存图

作者: 每天起床都想摆 | 来源:发表于2022-01-09 00:16 被阅读0次

    方法

    • 方法是一种语法结构,能够把一段代码封装成一个功能,方便重复使用

    方法的定义,调用

    • 方法定义的完整格式

      修饰符 返回类型 方法名(形参列表){
          方法体
          return 返回值;
      }
      
    • 方法的调用格式:

      方法名(...);
      
      • 方法声明了具体的返回值类型,内部必须使用return返回对应类型的数据

      • 方法没有声明返回值类型即返回值类型为void,方法体不可再使用return语句进行返回

      • 形参列表可以有多个,甚至可以没有;如果有多个形参,多个形参必须使用“,”隔开,且不能给初始化值

      • 方法如果没有参,或者返回值类型为void可以称为无参数,无返回值的方法

    方法使用的常见问题

    1. 方法的编写顺序无所谓

    2. 方法与方法之间是平级关系,不能嵌套定义,但是可以相互调用

    3. 方法的返回值类型为void,方法内不能使用return语句返回值;方法声明了具体的返回值类型,,方法内部则必须使用return返回值,且返回值的,类型和方法定义声明时规定的返回值类型要一致

    4. return语句下面不能写其他代码,因为永远执行不到这里,属于无效代码

    5. 方法不调用就不会执行,调用时必须严格遵守方法的使用情况

    6. 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法只能直接调用

      • 直接调用:sum(1,2);

      • 变量接收:int result = sum(1,2);

      • 输出调用:System.out.println(sum(1,2));

    方法调用的内存图

    • 方法没有被调用的时候,存放在方法区中的字节码文件中
    • 方法被调用的时候,需要进入到栈内存中去运行

    方法的参数传递机制

    • 机制:

      在传输实参给方法的形参的时候,并不是传输实参变量本身,而是传输实参变量中存储的值,即值传递

    实参:如在方法内部定义的变量

    形参:如在定义方法时,括号里面声明的参数

    • 基本类型的参数传递

    • 引用类型的参数传递

      对于引用类型的参数传递时,以数组为例,当出现形参数组名和实参数组名同名时,,此时二者指向的是同一个数组,是因为数组放在堆内存当中,从栈内存访问堆内存时创建了对象访问的是同一个数组,而基本类型传递则是从方法区调入栈内存中处理

    • 总结:

      1. 基本类型的参数传递存储的是数据值
      2. 引用类型的参数传递存储的是地址值

    方法重载

    • 同一个类中,出现多个方法名称相同,但是形参列表不同,这些方法称为重载方法
    • 调用方法的时候,会通过参数的不同来区分调用的是哪个方法
    • 方法重载的识别:
      1. 同一个类中,方法名相同,形参列表不同
      2. 形参列表不同指的是:形参的个数,类型,顺序不同,不关心形参的名称

    return关键字的单独使用

    • 单独使用:立即跳出并结束当前方法的执行;return关键字单独使用可以放在任何方法中

    相关文章

      网友评论

          本文标题:7.Java方法及内存图

          本文链接:https://www.haomeiwen.com/subject/xooycrtx.html