`

java程序中方法的形参使用final修饰分析

 
阅读更多
final修饰的内容不可更改,但是在方法的形参中使用final修饰的变量,在方法内部同样可以修改,以前没看懂是什么意思,百度了一下,游侠变得解释,特记录下来,留作备用


有一个方法,运行需要60分钟才跑完,而且这个方法需要1个对象作为参数(假设对象为 A ,引用a),在这60分钟内,你当然不想a.name值会变化,就是从一开始到结束都是a.name="soli",可要知道,JAVA的对象传递是引用copy,所以如果有另一条线程对a.name进行修改,而且刚好在60分钟内,那你说会出现啥米问题?

加了final,就是防止这个
分享到:
评论

相关推荐

    java面向对象之final修饰符.docx

    final修饰的形参在方法调用时根据传入的参数自动初始化,不能在方法内部再赋值。 ```java public class FinalLocalVariable { public void test(final int a) { // final形参不能在方法内赋值 // a = 5; // 非法 ...

    【Java语言基础】final关键字

    final修饰变量时,表示该变量一旦获得了初始值之后就不可被改变,final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量,形参。 final修饰成员变量 类变量:当类初始化时,系统会为类变量分配内存,...

    Java中的final关键字

    - `final`修饰的形参表示该参数的值在方法体内不能改变,增强了代码的可读性和防止意外的副作用。 6. **final和多线程** - 在多线程环境下,`final`字段具有特殊的含义,它们可以被JVM保证初始化的安全性。一旦...

    Java中成员方法.pdf

    在 Java 中,成员方法可以被修饰符修饰,常见的修饰符有 public、private、protected、static、final 和 abstract。其中,final 修饰符用于声明最终方法,不能被子类覆盖;abstract 修饰符用于声明抽象方法,不能被...

    Java final 修饰符知识点总结(必看篇)

    2. **final修饰方法** `final`修饰的方法表明该方法不能被子类重写,但可以重载。这意味着,尽管子类可以有相同名称和参数列表的方法,但这些方法并不是对父类`final`方法的重写,而是全新的独立方法。需要注意,...

    java_方法_详细讲解及解析(适合小白)

    在循环中使用break语句可以防止无限循环的产生,即所谓的死循环。在switch语句中,break用于防止多个case的代码块之间的穿透。 switch语句:用于基于不同的条件执行不同的代码块。switch语句可以与break配合使用,...

    Java中方法体.pdf

    其中,public、protected、private是访问修饰符,static、final、abstract是方法修饰符,返回值类型是方法的返回类型,方法名是方法的名称,形参表是方法的参数列表,throws 异常类型是方法可能抛出的异常类型,方法...

    苏州大学Java程序设计选择题.doc

    12. 一个 Java 源程序文件中最多只能有一个 public 类,抽象类默认不是 public 类,final 类中的属性和方法都必须被 final 修饰符修饰。 13. Java 中没有专门的输入输出语句,所有输入输出是通过输入输出流来实现的...

    《Java程序设计》练习题.docx

    6. **final关键字**:final修饰的类不能被继承,final变量一旦赋值就不能改变,final方法不能被子类重写。 7. **异常处理**:Java的异常处理机制使用try-catch-finally结构。当发生异常时,JVM会寻找匹配的catch块...

    JAVA期末复习试卷含答案.docx

    在Java中,接口可以使用public、abstract和final修饰符修饰。abstract关键字用于声明抽象类和抽象方法。 6. Swing组件: 在Java中,Swing是用于构建图形用户界面的库。其中,JFrame是最常用的顶层容器之一。 7. ...

    java工程师面试总结.pdf

    final修饰形参不能被赋值,因为形参在调用该方法时,有系统传入的参数来完成初始化。 final修饰基本类型变量与引用类型变量的区别: * final修饰基本类型变量时,不能对基本变量重新赋值,因为基本类型变量不能被...

    Java经典面试题大全(带答案)

    形参类似于局部变量,可以被方法内部使用,但不能被字段修饰符如`static`或`final`修饰。形参可以是对象类型。 9. **实例方法调用规则** - **知识点**:实例方法的调用规则。 - **解释**:实例方法可以直接调用本...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    11.4.6 使用final修饰成员变量 325 11.4.7 静态成员变量 326 11.4.8 局部变量的修饰符 326 11.4.9 当final遇到引用类型成员变量 327 11.5 小结:修饰符作用大 328 11.6 习题 330 第12章 接口 331 教学视频:...

    20秋电子科技大学《JAVA程序设计》在线作业3答卷.docx

    5. **常量定义**:在Java中,定义成员常量应使用`static`和`final`约束符(A和B选项),没有默认的修饰符可以用来定义成员常量。 6. **程序运行**:当执行`java MyTest aa bb cc`时,`args[0]`将存储命令行的第一个...

    Java面向对象思维导图.pdf

    Java面向对象思维导图是Java编程语言中的一种编程模式,它强调类和对象之间的关系,并使用继承、多态和封装等机制来实现软件开发。 一、类和对象 * 类:是一种blueprint或模板,用于创建对象 * 对象:是类的实例,...

    全网最全Java基础错题整理(持续更新)

    但是,final 修饰符也有其限制,例如在方法内部类中使用时,参数或局部变量必须是 final。 五、实例分析 下面是一个简单的实例,演示了方法参数和局部变量的使用: ```java public class ArgsDemo { public ...

    20秋电子科技大学《JAVA程序设计》在线作业1答卷.docx

    在Java中,方法的形参(形式参数)是可以没有的,取决于方法的功能需求。如果一个方法不需要接收任何参数,那么在定义方法时可以省略参数列表。因此,正确答案是C.可以没有。 2. **数组遍历与计算**: 以下代码`...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    11.4.6 使用final修饰成员变量 325 11.4.7 静态成员变量 326 11.4.8 局部变量的修饰符 326 11.4.9 当final遇到引用类型成员变量 327 11.5 小结:修饰符作用大 328 11.6 习题 330 第12章 接口 331 教学视频:...

    北邮高级语言程序设计(基于Java)第三次阶段作业.docx

    1. **访问修饰符的理解**:在Java中,`public`、`private`、`static`和`final`是四个重要的访问修饰符。`public`修饰的变量或方法可以在任何地方访问;`private`修饰的变量或方法只能在同一个类内部访问;`static`...

Global site tag (gtag.js) - Google Analytics