`

最好不要用“局部变量”覆盖“字段”

阅读更多

从编码习惯和语法规范上讲,很多程序员喜欢使用一些简单的变量作为字段和局部变量。例如:id等等。

这样以来,其实容易让程序显得混乱,特别是当局部变量和字段名称一样的情况下。面对这种问题,像Netbeans这样的IDE提出了警告提示,建议大家采纳。

特别要注意:在这个时候IDE可能提示你删除这个局部变量,从大部分的程序逻辑来讲,这种轻率的删除可能会导致大量错误。所以请使用rename等重构方法。


  • 大小: 140.6 KB
分享到:
评论

相关推荐

    compiere的AD设置问题

    局部变量则针对特定窗口,每个窗口的值可能不同,用`@局部变量名@`表示。例如,`@#SalesRep_ID@`是全局变量,表示登录用户的销售代表ID,而`@SalesRep_ID@`是局部变量,根据销售单的不同而变化。 2. **源记录的功能...

    java --this变量

    在上述代码中,`this.name`用于区分局部变量`name`和成员变量`name`,确保我们是在设置或访问实例字段,而不是覆盖方法内部的局部变量。 `this`还可以在构造器中调用其他构造器,这是一种称为构造器链的技术,可以...

    findbugs常见5种类型报错

    #### 四、Deadstoretolocalvariablethatshadowsfield (局部变量覆盖字段的无用赋值) - **含义**: 将一个值赋给了一个与类成员变量同名的局部变量,但实际上这个赋值并没有被后续代码所使用。 - **示例**: ```java...

    java笔记介绍

    同时,局部变量不允许在同一作用域内有同名的变量,除非有明确的覆盖。 Java程序员的良好习惯对代码的可读性和可维护性至关重要,比如使用空格进行缩进、添加注释以解释代码功能,以及遵循命名约定。Java是大小写...

    java面向对象试题.doc

    `step`方法内的`y`变量是一个局部变量,它覆盖了类中的同名实例变量。因此,`step`方法中的`y += y`操作只影响局部变量`y`,不会改变类中的实例变量`y`。所以,`main`方法中的`p.step(10)`调用后,输出的是局部变量`...

    JavaSE之继承的概述

    局部变量和成员变量的区别在于它们的作用域和生命周期,局部变量只在声明它的方法或构造器中有效。 总结来说,JavaSE中的继承是通过`extends`关键字实现的,子类可以继承父类的非私有属性和方法。在子类中,同名...

    javaScript入门

    如果全局变量和局部变量同名,局部变量会覆盖全局变量。 ```javascript var str = "同志们:首长好。"; // 全局变量 function say() { var str2 = "首长答:同志们好!"; // 局部变量 // ... } ``` #### ...

    Java学习笔记(必看经典)

    实例变量在创建对象时会自动赋初值,而局部变量必须在使用前显式初始化。 Java中的方法重载(Overloading)指的是在同一个类中可以有多个同名方法,但这些方法的参数列表必须不同(参数数量、类型或顺序不同)。而...

    2021-2022计算机二级等级考试试题及答案No.4467.docx

    1. 局部变量的作用域:局部变量仅在其定义的代码块或方法内有效,不能在其他方法中使用(A正确)。形参变量是属于被调用方法的局部变量,实参变量是调用方法时传递的值,它们各自存在于自己的作用域中(B正确)。...

    this和super

    在方法内部,如果存在局部变量和成员变量同名的情况,`this` 可以帮助区分,确保访问的是成员变量而不是局部变量。例如: ```java public class MyClass { private int myValue; public MyClass(int value) { ...

    java学习笔记

    2. **成员变量与局部变量**:成员变量是类的一部分,定义在类的主体中,而局部变量则声明在方法、构造器或者块中。成员变量属于类的实例,局部变量只在声明它的作用域内有效。成员变量有默认初始化值,而局部变量...

    Nutz Java 编码规范 (V1.0).doc

    - 局部变量名应尽可能短,可以使用缩写,如"StringBuilder sb"。 - 注重局部变量的可读性,如示例所示,简短的变量名更易理解。 ### 3. 注释 - 类、函数和字段注释推荐使用JavaDoc格式。 - 函数内部的注释用于解释...

    xilang:用锈编写的玩具编程语言和虚拟机

    1个待办事项1.1修复本地变种目前让声明变量如果有同名的变量会发生覆盖,但是实际上不应该产生覆盖,让限制绑定,新的局部变量一定分配新的空间。 ldloc.n的n不是插槽的下标,或者第几个局部变量。因为存在用户定义...

    2021-2022计算机二级等级考试试题及答案No.4220.docx

    15. **局部变量和用户变量**:局部变量在BEGIN...END之间有效,用户变量以"@"开头,局部变量使用DECLARE定义,存储函数中可以使用局部变量。 16. **宏**:宏可以一次完成多个操作,由动作名和操作参数组成,可以是...

    java面向对象考题和答案.doc

    `Test`类有一个`name`字段,构造方法接受一个字符串参数,但并未正确地将参数赋值给`this.name`,而是赋给了局部变量`name`。因此,`t.name`依然为初始值"Tom"。答案是B.Tom。 6. 构造方法主要用于初始化新创建的...

    Java学习笔记(必看经典).pdf

    局部变量则是在方法内部定义的变量,它们必须在使用前明确赋值。实例变量和局部变量都允许有命名冲突,但是它们的作用域不同。实例变量可以在类的任何方法中访问,而局部变量仅在它们被定义的方法中有效。 构造方法...

    java lombok.rar

    5. **域和局部变量的简化**: - `@Value`:与@Data类似,但生成的类是不可变的,所有字段默认为private final,并生成构造函数。 - `@Accessors`:控制getter和setter的生成方式,如链式调用或字段名前缀。 6. **...

    JAVA代码编程规范

    作用域大的局部变量命名同字段规则;作用域小的,可简化命名,避免混淆且不减损代码可读性,如`i`作为简单循环变量。 **6. 参数(Parameter)** 参数命名遵循字段命名规则,意义相同的参数与类字段名宜一致,如...

    30种mysql优化sql语句查询的方法.pdf

    7. **避免使用参数和局部变量**:在`WHERE`子句中直接使用参数,而不是通过局部变量,以允许SQL引擎优化索引选择。 8. **避免表达式操作**:不要在`WHERE`子句中对索引字段进行计算,以免影响索引的使用。 9. **...

    Java中final的用法.doc

    `final`也可以用于方法参数和局部变量,这样确保它们在方法或代码块内部不会被重新赋值。这对于理解代码逻辑和防止意外修改有帮助。 6. **匿名类和内部类**: `final`关键字在创建匿名类和内部类时也有特殊用途,...

Global site tag (gtag.js) - Google Analytics