gpt4 book ai didi

language-agnostic - 私有(private)常量有什么用,不是静态的?

转载 作者:行者123 更新时间:2023-12-04 06:43:48 25 4
gpt4 key购买 nike

是否有任何理由拥有一个私有(private)常量,这不是静态的?是否有任何情况需要非静态私有(private)常量?如果常量默认是静态的,这有意义吗?

我使用 ActionScript3 和一些 Java,但我认为这是一个更广泛的 OOP 问题。

最佳答案

我不知道这是否重要,但在 Java 中,您需要将局部变量设为 final 才能在内部类中使用它们(因为 Java 没有真正的闭包,而是复制捕获的范围,此后必须是不可变的):

 void test(){
final long startTime = System.currentTimeMillis(); // needs to be final
new Runnable(){
System.out.println(startTime);
}.run();
}

此外,您可以将字段和变量设置为 final 以防止意外重新分配它们(编译器和运行时也可能使用此信息进行性能优化)。

当然,这两个示例都不是数学意义上的常量(Java 中的最终变量可以根据变量输入分配给计算表达式)。

关于language-agnostic - 私有(private)常量有什么用,不是静态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com