当前位置: 首页 > 面试题库 >

Java 方法参数中的final关键字

韦知
2023-03-14
问题内容

我经常遇到如下所示的方法:

public void foo(final String a, final int[] b, final Object1 c){
}

如果在未传递最终参数的情况下调用此方法会发生什么。例如,可以将稍后更改的Object1(因此未声明为final)传递给此方法


问题答案:

Java总是在将参数发送给方法之前先对其进行复制。这意味着最终的调用代码没有任何区别。这仅意味着无法在方法内部重新分配变量。(请注意,如果你有最终对象,则仍然可以更改对象的属性)。



 类似资料:
  • 问题内容: 当在方法参数上使用关键字时,我无法理解该关键字在哪里真正方便。 如果我们排除使用匿名类,可读性和意图声明,那么对我来说几乎毫无用处。 强制某些数据保持不变并不像看起来那样强大。 如果参数是原始参数,则它将无效,因为参数作为值传递给方法,并且在范围之外进行更改将无效。 如果我们通过引用传递参数,则引用本身就是一个局部变量,并且如果在方法内部更改了引用,则不会在方法范围之外产生任何影响。

  • 问题内容: 在尝试做一些尝试时,我遇到了一个在本页中描述的问题。 为什么可以使用这种功能?我不知道为什么仅通过覆盖方法就可以将最终参数设置为非最终参数。为什么在方法签名中忽略了final关键字?以及如何让子类在其方法中使用最终变量? 问题答案: Java通过值将参数传递给方法。 因此,对参数的任何更改都不能传播回调用方。由此可见,无论是否声明参数,对调用者而言绝对没有区别。因此,它是方法 实现 的

  • final是java中的访问修饰符还是非访问修饰符? Thread类公共最终无效setName(字符串名称)的setName()方法真的是最终的吗?如果是,是否意味着一旦线程名称更改,以后就不能更改,因为最终关键字...? 或者final不是方法setName()的一部分? 请给我正确的答案。。

  • 本文向大家介绍举例讲解Java中final关键字的用法,包括了举例讲解Java中final关键字的用法的使用技巧和注意事项,需要的朋友参考一下 1. final variable final variable 就是一个常量,一旦被初始化就不可以被改变。 输出: (1)Blank final variable 在声明时未初始化的 final variable 被称作 blank final vari

  • 本文向大家介绍Java中的final关键字深入理解,包括了Java中的final关键字深入理解的使用技巧和注意事项,需要的朋友参考一下  java final关键字详解: 前言: Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的