JAVA指针之形参和实参

本文探讨Java中形参和实参的概念,指出Java基本数据类型按值传递,而其他类型按引用传递。通过代码示例解释了为什么会有这样的行为,并特别讨论了String类在内存中的处理方式。最后,通过示例展示了实参的传递方式。
摘要由CSDN通过智能技术生成

不同于C、C++,JAVA中不需要程序员对指针进行操作。不过,这不代表JAVA没有指针,事实上,JAVA的指针操作都被底层代码封装了。笔者在初学Java时,虽然就了解了形参,实参,StringBuffer这些概念,但一直只流于表面,对此没有一个深度的认识。直到最近开始学习JVM虚拟机,才真正认识到了JAVA的精妙之处。

首先,先说结论,Java中所有的基本数据类型的传递,都是按值传递,即传递的都是形参。除此以外的其他任何传递都是按地址传递,传递过去的都是实参,即cpp概念中的引用传递。最初笔者学习时也是就看到这,虽然知道了结论,但由于概念过于抽象,始终无法理解其本源(或者说内存模型中到底发生了什么)。Talk is cheap,show me the code。下面,我们来看一段代码。

package point;

public class Formal {
   
    private void formal(int p){
   
        p=p*5;
        System.out.println(p);
    }

    public static void main(String[]args){
   
        int i=5;
        Formal fromal=new Formal();
        fromal.formal(i);
        System.out.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹏小站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值