Java是按值调用的

 

 

java程序设计语言总是采用按值调用。

 

 

 

 

 

一、8个基本类型(char、byte、short、int、long、float、double、boolean)做参数

 

 

 

 

代码:

class Main_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int t = 10;
		returnInt_type(t);  //修改变量t
		
		System.out.println(t);//结果显示修改不了
	}
	
	public static void returnInt_type(int t) {
		 ++t;
	}
	
}

实现:

10

也就是说8个基本数据类型当参数时,方法中无法修改该参数。

 

 

 

 

 

 

二、String类型做参数

 

 

代码:

class Main_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "旧的str";
		returnInt_type(str);  //修改变量str
		
		System.out.println(str);//结果显示修改不了
	}
	
	public static void returnInt_type(String str) {
		 str = "新的str";
	}
	
}

实现:

旧的str

 

也就是说,虽然String是引用类型,但是当String类型做参数时,方法还是无法修改此参数。

 

 

 

 

三、数组、类 做参数

 

 

 

 

代码:

先写一个People类

package diaoYong;

class People {
	private String name;
	
	public People() {
		name = "没有名字的人";
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}

再写一个Main_1类

package diaoYong;

class Main_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		People p1 = new People();
		System.out.println(p1.getName());
		
		changeName_String("猪八戒",p1);  //修改p1的name
		System.out.println(p1.getName());//结果显示修改成功
	}
	
	public static void changeName_String(String name,People p) {
		 p.setName(name);
	}
	
}

显示结果:

没有名字的人
猪八戒

 

也就是说,当对象和数组(数组不演示了)做参数的时候,方法可以修改该参数。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值