2021Java高频面试题来喽!

开课吧开课吧锤锤2021-06-15 17:24

    面试之前,大家是不是都要去刷一波面试题,就像大学期末考试前3天开始猛背书。有很多人就是在网上搜到什么就看什么,就像你期末考试,却不知道考试重点什么,临时抱佛脚,它想有用,但你能记住多少呢?最后还是成为马冬什么梅。今天小编就为大家带来一份面试题。

Java

    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

    答:是值传递。Java语言的方法调用只支持参数的值传递。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对对象引用的改变是不会影响到调用者的。C++和C#中可以通过传引用或传输出参数来改变传入的参数的值。在C#中可以编写如下所示的代码,但是在Java中却做不到。

using System;

namespace CS01 {
	
	class Program {
		public static void swap(ref int x, ref int y) {
			int temp = x;
			x = y;
			y = temp;
		}

		public static void Main (string[] args) {
			int a = 5, b = 10;
			swap (ref a, ref b);
			// a = 10, b = 5;
			Console.WriteLine ("a = {0}, b = {1}", a, b);
		}
	}
}

    说明:Java中没有传引用实在是非常的不方便,这一点在Java8中仍然没有得到改进,正是如此在Java编写的代码中才会出现大量的Wrapper类(将需要通过方法调用修改的引用置于一个Wrapper类中,再将Wrapper对象传入方法),这样的做法只会让代码变得臃肿,尤其是让从C和C++转型为Java程序员的开发者无法容忍。

    假如您对大厂的面试题有兴趣,不妨点击下面的图片,免费领取。

Java

    在线搜索Java面试题,你会发现很多都是重复性的,那么精粹的面试题,就是你最需要的。以上就是开课吧广场小编为大家整理发布的“2021Java高频面试题来喽!”一文,更多Java面试相关内容尽在开课吧广场Java面试频道!

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享