可能重复:
Java final修饰符
这只是一个关于偏好的小问题.最终修饰符的正确用法是什么?
我注意到,从源到源,我倾向于使用它比其他人更多.我把它作为方法的参数,方法中的变量和我能做的.这是必要的还是我只是过度了?
参考:
private final int x;
private final int y;
private final int id;
private final int width;
private final int height;
public Widget(final int id, final int x, final int y, final int width, final int height) {
this.id = id;
this.x = x;
this.y = y;
this.xmod = x;
this.ymod = y;
this.width = width;
this.height = height;
}
Run Code Online (Sandbox Code Playgroud)
是的,你做得太过分了.从历史上看,这可能会导致一些优化 - 例如,最终方法可以更容易地内联 - 但是现在,无论您是否实际标记方法最终,大多数优化都会完成.
你应该仍然使用final的地方是在类中的大多数字段,不应该或不扩展的类上,不希望被覆盖的方法,以及需要在匿名内部引用的局部变量类.
特别是,在局部变量和方法参数上执行它是不合适的,这些参数不会包含在匿名内部类中.