标签: final

在循环内创建最终变量

这是允许在java中:

for(int i=0;i<5;i++){
  final int myFinalVariable = i;
}
Run Code Online (Sandbox Code Playgroud)

我的问题的关键字是final.是否允许执行随循环的每次运行而变化的最终变量?我想知道这是因为最后说你不能改变变量的值(仅调用myFinalVariable = i),但我正在重新定义整个变量final int.

它们是两个完全不同的变量,只是具有相同的名称 - 从上一次循环运行的变量已经走向垃圾收集器的道路?

java final

48
推荐指数
3
解决办法
2万
查看次数

让私人方法最终?

私有方法最终是否有益?这会改善表现吗?

我认为"私人决赛"没有多大意义,因为私有方法无法被覆盖.所以方法查找应该像使用final时一样高效.

私有帮助方法是静态的(如果可能的话)会更好吗?

什么是最好用的?

  private Result doSomething()
  private final Result doSomething()
  private static Result doSomething()
  private static final Result doSomething()
Run Code Online (Sandbox Code Playgroud)

java final

48
推荐指数
4
解决办法
2万
查看次数

用吸气剂'公共静态决赛'或'私人静态决赛'?

在Java中,它教导变量应保持私有以实现更好的封装,但静态常量呢?这个:

public static final int FOO = 5;
Run Code Online (Sandbox Code Playgroud)

结果与此相当:

private static final int FOO = 5;
...
public static getFoo() { return FOO; }
Run Code Online (Sandbox Code Playgroud)

但哪种更好的做法?

java static final private public

48
推荐指数
3
解决办法
2万
查看次数

java中的public final static的c#等价物是什么

在Java中我可以写:

public final static MyClass foo = new MyClass("foo");
Run Code Online (Sandbox Code Playgroud)

C#中有没有相应的东西?

c# java static final public

47
推荐指数
1
解决办法
4万
查看次数

Java中的最终变量操作

任何人都可以告诉我在Java的上下文中以下行的含义:

除非它是不可变的,否则仍然可以操纵最终变量

据我所知,通过声明的任何变量,最后,你不能再改变它,那么他们的意思字不变在上述行?

java variables final

45
推荐指数
2
解决办法
5万
查看次数

关于Java中的静态final关键字

根据教程:

static改性剂,在用所述组合final改性剂,也可以用来定义常量.该final修饰符表明这个字段的值不能改变.

只有涉及的类型是原始的,我才同意这一点.对于引用类型,例如Point2D其位置属性不是的类的实例final(即,我们可以改变其位置),这种变量的属性(例如public static final Point2D A = new Point2D(x,y);仍然可以改变).这是真的?

java static final constants

45
推荐指数
5
解决办法
5724
查看次数

Anonymous-Inner类显示不需要的修饰符

据我了解,下面的代码应该打印出来true.

但是,当我运行此代码时,它正在打印false.

来自匿名类的 Java文档 15.9.5.:

匿名类总是隐式最终的

public class Test {
    public static void main(String args[]) {
        Object o = new Object() {
        };
        System.out.println("Annonymous class is final: " + Modifier.isFinal(o.getClass().getModifiers()));
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解这种行为.

java final anonymous-class jls

45
推荐指数
3
解决办法
1742
查看次数

Java - 最终变量可以在静态初始化块中初始化吗?

根据我对Java语言的理解,可以初始化静态变量static initialization block.

但是,当我尝试在实践中实现它时(static变量也是final如此),我得到下面屏幕截图中显示的错误:

https://i.stack.imgur.com/5I0am.jpg

java static final

44
推荐指数
3
解决办法
3万
查看次数

什么时候我们应该使用"public static final String"?

我看过很多人写的代码public static final String mystring = ... 然后才使用一个值.

他们为什么要那样做?为什么他们必须final在使用之前初始化值?

UPDATE

好的,感谢所有的答案,我理解这些关键的意义(公共静态最终).我不明白为什么人们使用它,即使常量只在一个地方使用而且只在同一个类中使用.为什么宣布它?为什么我们不只是使用变量?

java final

44
推荐指数
3
解决办法
13万
查看次数

如何在构造函数中初始化最终的类属性?

在Java中,您可以这样做:

class A {    
    private final int x;

    public A() {
        x = 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

在达特,我试过:

class A {    
    final int x;

    A() {
        this.x = 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到两个编译错误:

必须初始化最终变量'x'.

'x'不能用作定位器,因为它的最终版本.

有没有办法在Dart的构造函数中设置最终属性?

constructor final dart

44
推荐指数
4
解决办法
1万
查看次数

标签 统计

final ×10

java ×9

static ×4

public ×2

anonymous-class ×1

c# ×1

constants ×1

constructor ×1

dart ×1

jls ×1

private ×1

variables ×1