`

方法参数前加final的作用

    博客分类:
  • java
阅读更多
2009-06-28 02:23

在方法参数前面加final关键字就是为了防止数据在方法体中被修改。这里主要分两种情况:第一,用final修饰基本数据类型;第二,用final修饰引用类型。

第一种情况,修饰基本类型(非引用类型)。这时参数的值在方法体内是不能被修改的,即不能被重新赋值。否则编译就通不过。例如:

  1. public void testInt( final int param1){
  2. param1= 100 ;
  3. }

 

在方法体内修改了基本数据类型变量的值,在Eclipse中则会提示:“ The final local variable param1 cannot be assigned. It must be blank and not using a compound assignment.“

 

第二种情况,修饰引用类型。这时参数变量所引用的对象是不能被改变的。作为引用的拷贝,参数在方法体里面不能再引用新的对象。否则编译通不过。例如:

  1. public void testFinal2( final Objectparam2){
  2. param2= new Object();
  3. }

在方法体内修改了参数的引用,在Eclipse中则会提示:“ The final local variable param2 cannot be assigned. It must be blank and not using a compound assignment.“

分享到:
评论
3 楼 longfu2012 2012-11-22  
学习了
2 楼 wpf523 2012-08-10  

1 楼 wpf523 2012-08-10  
不错,解决了我的疑惑

相关推荐

    Java中final作用于变量、参数、方法及类该如何处理

    在本文中,我们将深入探讨`final`在变量、参数、方法和类中的应用及其作用。 **1. `final`关键字用于变量** - **final基本类型变量**:当`final`用于基本类型的变量时,它被视为常量,一旦赋值后就不能更改。尝试...

    Java中的final关键字

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

    Java关键字final、static使用总结

    final 关键字可以用来修饰类、方法、变量等,它的主要作用是表明某个东西是“不可改变”的。下面是 final 关键字的使用方法和限制: 1、final 类 final 类不能被继承,没有子类,final 类中的方法默认是 final 的...

    java中final和static的区别

    2. final 修饰方法中的参数(包括成员方法、构造方法、抽象方法):该参数只读,不可以修改其值。 3. final 修饰类(但不包括抽象类):该类不能被继承,所以类中的方法默认就是 final 方法(如:String 类)。 4....

    final修饰类

    当函数的参数声明为`final`时,表明该参数是只读的,不允许在方法内部改变其值,这在多线程环境下可以避免意外的修改。 总结来说,`final`关键字提供了代码的稳定性和安全性,它可以帮助开发者定义不可变的对象,...

    曲线的参数方程说课final学习教案.pptx

    曲线的参数方程说课final学习教案.pptx

    final glow插件

    在3D建模和动画领域,Final Glow对于提升作品的艺术表现力起到了重要作用。 "Max插件"是3DS Max软件的扩展功能,通过安装这些插件,用户可以增加或改进Max原生功能,以满足更专业、更定制化的创作需求。Final Glow...

    Java常见笔试、面试题目深度剖析 final详解

    - `final`关键字也可以用于方法参数,表示参数在方法体内不能被重新赋值。这有助于代码的可读性和避免意外的修改,特别是在长方法或多线程环境中。 6. **final与效率** - Java虚拟机(JVM)可能会对`final`变量...

    Final Effects汉化插件

    3. 应用效果:选择你需要的特效,将其拖拽到时间线中的目标视频或音频剪辑上,然后在效果控制面板调整参数以达到理想效果。 4. 预览和渲染:在预览窗口查看效果,满意后进行完整视频的渲染输出。 为了更好地使用...

    Java final关键字

    // final方法参数 } } ``` 在上面的例子中,`constant`、`local`和`argFinal`都是`final`变量,它们的值在声明后都无法改变。 其次,`final`关键字可以用于声明方法。当一个方法被声明为`final`时,意味着这个...

    final关键字详细解读

    需要注意的是,final方法可以被重载,也就是说子类可以拥有与父类同名但参数不同的方法。 4. final修饰引用类型:当final修饰引用类型的变量时,该变量不能被重新赋值,即不能指向另一个对象,但是可以修改引用所...

    Final_Cut_Pro使用手册.pdf

    ### Final Cut Pro 使用手册知识点概览 ...综上所述,Final Cut Pro 使用手册全面覆盖了软件的基础使用方法、高级功能介绍以及实际应用场景等多个方面,是用户深入了解和掌握该软件不可或缺的重要资料。

    Final IK 1.9 Final IK 1.9

    在实际使用中,Final IK 1.9的设置可以通过Unity的Inspector窗口进行,用户可以直观地调整各个IK组件的参数,如权重、目标偏移、松弛度等,以达到理想的效果。同时,该插件还提供了可视化调试工具,便于检查IK解决...

    Final IK v1.7.unitypackage.zip

    然而,这种方法在处理复杂的交互或动态环境时可能会变得困难,例如当角色需要抓取物品或适应不平坦地形时。这时,IK就派上了用场。IK从目标位置出发,反向计算出各个关节的正确角度,使得角色的手或脚能准确地到达...

    powermock源码学习 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具

    PowerMock的核心功能在于其能够通过提供定制的类加载器和应用一些字节码操作技巧,实现对静态方法、构造方法、私有方法和final方法的模拟。例如,在进行单元测试时,有时候我们并不希望测试数据进入实际的数据库,...

    stati、thi、supe、final关键字详解

    在这个例子中,构造器中的this.name表示将传入的参数赋值给当前对象的name属性,而在display()方法中,this.name则是指调用该方法的对象的name属性。 三、super关键字 super关键字用于访问父类的成员,包括字段和...

    java中final和static的总结

    3. **方法参数**:如果方法参数标记为`final`,则在方法体内部无法改变该参数的值。这有助于防止意外修改。 4. **匿名内部类**:`final`可以应用于局部变量,以便在匿名内部类中使用。这是因为内部类会捕获封闭作用...

    Java中局部内部类可以访问它所在方法中定义的final修饰的局部变量的合理解释.doc

    - 可以访问包含它的方法的所有局部变量、参数以及成员变量。 - 如果要访问方法中的局部变量,则该局部变量必须被声明为final。 2. **final修饰符** - 在Java中,final关键字可以用于修饰变量、方法和类。 - 当...

    AE MetaCreations Final Effects Complete V1.0

    这些预设效果不仅方便用户快速生成复杂的特效,还能通过自定义参数进行深度调整,以满足不同的创意需求。例如,粒子系统允许创建出逼真的火焰、烟雾、雨滴等自然现象,而光效工具则能模拟各种光照环境,如聚光灯、...

    FinalIK-1.3

    FinalIK-1.3还具有高度自定义的特性,开发者可以根据项目的需要调整IK的参数,如权重、灵敏度和约束条件等,以实现理想中的动画效果。同时,它支持骨骼层次结构的动态调整,即使在运行时也能快速适应变化,为实时...

Global site tag (gtag.js) - Google Analytics