出门莫恨无人随,书中车马多如簇。这篇文章主要讲述形参与实参的区别,原来形参是庶子所以不得宠相关的知识,希望能为你提供帮助。
形参:
形式参数,形式就可以理解为它是一个虚拟的、表面的不是真实存在的一个变量,它一般用在给函数名(方法名)和函数体(方法体)中使用的参数。我们可以这么来形容:它就是在调用的过程中传递的参数,这个时候实参就赋值给了这个形参。往深层次里面看一下就是在方法被调用的时候,虚拟机才会给它分配空间(内存单元),在调用过程结束后就会释放内存单元。
【形参与实参的区别,原来形参是庶子所以不得宠】举个例子
一个大户人家里面有两个儿子,分别是形参、实参。实参是嫡子,形参是庶子,当有有客人来的时候发生的时候(我们可理解为到了调用的时候),这个大户人家为了面子,让外人看起来“我们对庶子也是很好的的!”就给庶子(形参)和实参内饰环境一样的一间房(实参赋值),平时庶子是没有房间的!
等到客人走了(调用结束),就会把分配给庶子(形参)的房间(内存空间)收回来!
我们要知道形参只在方法内是有效的,是不会影响方法外的。因为外面的人跟他更不是一家,所以不会分给他房子!
实参:
实际参数,用于调用时传递给方法的参数。实参在传递给别的方法之前是要被预先赋值的。他可以是常量、变量、表达式、函数,同时它必须有个确定的值,只有这样到后面形参出现才能把值赋给形参。
(重点理解)我们在传递和调用的过程中只可以把实参传递给形参!因为实参比较得宠,所以它的待遇就是一个标准,不能把形参的值反向作用到实参上。这不就等于让把嫡子的配置降低了,这种行为是在家族规矩中不允许的!
在方法调用过程中,形参的值也许会发生改变,但实参的值不会发生改变。
而在引用传递调用的机制中,实际上就是是将实参引用的地址传递给了形参,所以任何发生在形参上的改变也会发生在实参变量上。
推荐阅读
- 智慧园区效果不满意(请收下ThingJS这份秘籍)
- Navicat 16 for MySQL软件安装包和安装教程
- 前后端分离的好处有哪些()
- NBI可视化平台快速入门教程数据可视化编辑器介绍
- JVM 输出 GC 日志导致 JVM 卡住,我 TM 人傻了
- pg12新特性-max_wal_senders从max_connections分离
- 基于STM32腾讯云物联网平台和微信小程序应用
- 基于matlab因子指标赋权(主成分分析+熵值法+博弈论的组合赋权法)
- docker和docker compose安装使用入门进阶案例