java基础学习菜鸟入门第二十四天——深入理解Java方法参数列表使用(完整版)

java面向对象——深刻理解方法的参数列表

之前我们学习Java基础知识的时候,就知道了main是一个方法,也是一个程序的入口,同时也了解了什么是参数列表,在重载章节中,我们也深刻了解了参数列表的作用,那是是不是认为你真正的了解了参数列表的含义呢?我们一起来看看吧?

提示:先看完什么是方法参数列表,在看这个,更容易理解!博客地址如下:

https://blog.csdn.net/QZP51ZX/article/details/102493066

5.9根据数据类型的不同,我们将方法的参数列表的使用分为两种:

  • 基本数据类型进入方法中参数列表
  • 引用数据类型进入方法中参数列表
i.基本数据类型进入方法中参数列表

代码演示:

//分析一个,这两个输出的num分别是多少,它们会不会相等?
public class Test04{
	public static void main(String[]args){
        //声明一个变量
        int num=10;
        //调用方法
        method(num);
        System.out.println("main"+num);
	}
	public static void method(int num){
        num+=10;System.out.println("method"+num);
	}
}
//执行结果:
method20
main10

看到结果,有些人就有点蒙了,这是为什么呢?我们通过内存图来分析一下

基本数据类型的值传递.PNG
结论:基本数据类型进入方法之后,方法之间的调用,都是值传递,原来方法中的值不会发生改变,原因是每个方法访问的都是自己的局部变量。

ii.引用类型进入方法参数列表

代码演示:

//分析一个,这两个输出的dog分别是什么?
class Dog{
    String name;
    String color;
    public Dog(){
        
    }
    public String toString(){
    	return"name:"+name+",color:"+color;
    }
}
public class Test04{
    public static void main(String[] args){
        Dog dog=new Dog();
        dog.color="屎黃色";
        dog.name="旺財";
        change(dog);
        System.out.println(dog);
    }
    public static void change(Dog dog){
        dog.color="黑色";
        dog.name="阿旭";
        System.out.println(dog);
    }
}
//执行结果:
name:阿旭,color:黑色
name:阿旭,color:黑色

看到结果,有些人就有点蒙了,这是为什么呢?我们通过内存图来分析一下

引用类型的值传递.PNG

结论:引用类型进入方法之后,其值会发生改变,原因是由于引用类型传递是地址传递,并不是值传递。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QZP51ZX

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

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

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

打赏作者

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

抵扣说明:

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

余额充值