栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础面试题摘录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础面试题摘录

目录

按值传递和按引用传递的区别?


  • 值传递:方法调用时,实际参数把它的值的副本传递给对应的形式参数,此时形参接收到的其实只是实参值的一个拷贝,所以在方法内对形参做任何操作都不会影响实参
  • 引用传递:当参数是对象的时候,其实传递的对象的地址值,所以实参的地址值传给形参后,在方法内对形参进行操作会直接影响真实内容。

如果传递的参数是八大基本类型的话,是值传递。

如果参数传递的是对象实例、数组或者是接口的话,看起来是引用传递,其实还是传对象地址值,是值传递。

public class CallByValue {
	private static User user=null;
	private static User stu=null;
	
	
	public static void swap(User x,User y){
		User temp =x;
		x=y;
		y=temp;
      //如果这里set,x的属性会变化
       //x.setName("lisi");
	}
	
	
	public static void main(String[] args) {
		user = new User("user",26);
		stu = new User("stu",18);
		System.out.println("调用前user的值:"+user.toString());
		System.out.println("调用前stu的值:"+stu.toString());
		swap(user,stu);
		System.out.println("调用后user的值:"+user.toString());
		System.out.println("调用后stu的值:"+stu.toString());
	}

打印结果:

调用前user的值:User{name='user', age=26}
调用前stu的值:User{name='stu', age=18}
调用后user的值:User{name='user', age=26}
调用后stu的值:User{name='stu', age=18} 

参考地址:深入理解--Java按值传递和按引用传递_有图有真相-CSDN博客_java 按值传递

Java基础------真实大厂面试题汇总(含答案)_王伟的博客-CSDN博客_java基础面试题大全

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354177.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号