美文网首页
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方法及内存图

    方法 方法是一种语法结构,能够把一段代码封装成一个功能,方便重复使用 方法的定义,调用 方法定义的完整格式修饰符 ...

  • java内存模型

    主要看懂这篇文章全面理解Java内存模型(JMM)及volatile关键字。 理解三张图 内存区域图 方法区(静态...

  • 类和对象

    类和对象的定义、关系 成员方法:去掉static关键字的方法 单个对象内存图 多个对象的内存图 成员变量:类中方法...

  • JVM内存模型

    一、jvm内存模型图 二、内存模型描述 堆:所有新建对象都会在堆中开辟内存 方法区(本地内存):存放类信息,方法信...

  • Java的动态绑定机制

    当JVM执行对象的成员方法时,会将方法和当前对象的实际内存进行绑定。 输出结果:40画图分析内存图: 动态邦定机制...

  • Java 基础 16 对象的内存图

    1.1 一个对象的内存图 1.1.1案例代码 1.1.2一个对象的内存图图解 1.2 两个对象的内存图(共用方法区...

  • Java大佬之学习历程(一)

    基础篇 JVM: ①JVM内存结构: 堆、栈、方法区、直接内存、堆和栈区别, ②JVM参数及...

  • JVM内存区域介绍

    内存区域脑图 JVM内存区域主要包括: 方法区(永久代) 虚拟机栈 java对象堆 pc计数器 本地方法栈 Jav...

  • JVM系列-05-方法区-永久带VS元空间

    [TOC] 1 JVM(HotSpot)内存模型 上面这种图是HotSpot虚拟机的内存模型,本篇文章主要介绍方法...

  • Java构造方法内存图

    重点:只要是方法都在栈内存中执行

网友评论

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

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