`
wangking717
  • 浏览: 257555 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

我也来说说JAVA方法的参数传递

阅读更多

 

wangking 写道
在群里看到有人在讨论方法参数传递方式,比较有趣。言归正传,JAVA参数传递只有值传递,所谓值传递就是传递基础类型的拷贝和对象类型的引用拷贝。

 

看代码识真相:

 

 

package client;

public class Test {

	public static void main(String[] args) {
		
		int j = 5;
		changedata(j);
		
		StringBuffer sb = new StringBuffer("wang");
		changedata(sb);
		System.out.println(j);
		System.out.println(sb.toString());
		
	}

	private static void changedata(int i) {	//参数如果是基础类型,i则是这个基础数据类型的拷贝
		i = 100;
	}

	private static void changedata(StringBuffer sb) {	//参数如果是对象类型, sb则是对象类型的引用拷贝
		sb.append("king");	//调用引用对象的方法,内部值改变
		sb = new StringBuffer("haha");	//改变sb的引用地址,对其原对象无任何影响
	}
	
}
  

基础数据类型的参数传递:

 


 

对象类型参数传递:


  • 大小: 15.9 KB
  • 大小: 58.3 KB
分享到:
评论

相关推荐

    java 面试题 总结

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 15、error和exception有什么区别? error 表示恢复不是...

    java面试宝典

    21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,...

    java面试题

    35. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 18 36. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?...

    java基础题 很全面

    36. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 11 37. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此...

    超级有影响力霸气的Java面试题大全文档

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 18、error和exception有什么区别?  error 表示恢复...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 17 【基础】重载(Overload)和重写(Override)的区别。重载的方法能否...

    千方百计笔试题大全

    21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,...

    基于form-data请求格式详解

    在后端与前端约定好application/json格式传递数据时,因为后台是go强类型语言,在定义api接口时,某些字段要求是整型类型,但是对于前端来说输入框或者从url中的search取到的参数都是字符串,不得不进行前端类型转换...

    程序员面试攻略 part1(共2个)

    10.9 面试例题:参数传递170 10.10 面试例题:宏与内嵌函数171 10.11 面试例题:继承173 10.12 面试例题:面向对象的程序设计173 10.13 面试例题:与线程有关的程序设计问题174 10.14 面试例题:废弃内存的自动...

    程序员面试攻略part 2(共2个)

    10.9 面试例题:参数传递170 10.10 面试例题:宏与内嵌函数171 10.11 面试例题:继承173 10.12 面试例题:面向对象的程序设计173 10.13 面试例题:与线程有关的程序设计问题174 10.14 面试例题:废弃内存的自动...

    javascript下arguments,caller,callee,call,apply示例及理解

    在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments 该对象代表正在执行的函数和调用它的函数的参数。 [function.]arguments[n] 参数function :选项。当前正在执行的 Function 对象...

Global site tag (gtag.js) - Google Analytics