Tag: final

javac根据赋值方法不同地处理静态final

当我编译: public static final boolean FOO = false; public static final void fooTest() { if (FOO) { System.out.println(“gg”); } } 我得到一个空方法fooTest() {} 。 但是当我编译时: static boolean isBar = false; public static final boolean BAR = isBar; public static final void fooTest() { if (BAR) { System.out.println(“gg”); } } if语句包含在已编译的类文件中。 这是否意味着java中有两种不同的“类型”静态final,或者这仅仅是编译器优化?

使用final关键字声明List字段

如果我在Synapse是抽象类型的类中有以下语句: private final List synapses; final是否允许我仍然能够更改List Synapse对象的状态,但是阻止我将新的Synapse对象添加到列表中? 如果我错了,你能否解释一下final做什么以及何时应该使用关键字final 。

一个集合在Java中最终是什么意思?

在Java中将集合声明为final是什么意思? 是不是可以添加更多元素? 是否已经存在的元素无法改变? 还有别的吗?

java中的常量变量和最终变量之间有什么区别?

请帮助我理解Java中常量变量和final变量之间的区别。 我有点困惑。

记录器应该是最终的和静态的吗?

可以从许multithreading访问类。 在这种情况下必须是记录器也是最终的和静态的吗? 谢谢。

在内部类(java)中访问局部变量

编译完代码后,我遇到了两个错误。 错误是: 1。 local variable input is accessed within inner class; needs to be declared final String name = input.getText(); 2。 local variable c_age is accessed within inner class; needs to be declared final Object child_age = c_age.getSelectedItem(); 这是我的代码: import javax.swing.*; import java.awt.event.*; public class GUI { public static void main(String[] args) { JFrame frame […]

最后一个关键字,最后一个块和java中的最终方法之间的区别通过一个很好的例子

这些关键词经常让我困惑。 谁能告诉我他们到底有什么区别?

将类作为final并将类构造函数设置为private是有区别的

final类和class构造函数之间的区别究竟是什么。 我知道两者都不能被分类(如果我错了,请纠正我)。 他们有什么不同吗?

为什么我们不能通过类名在静态块中设置静态最终变量的值

例如,考虑下面的代码捕捉: public static final int a; public static final int b; static { a = 8; // it’s working Test.b = 10; // compilation error Test.b cannot be assigned. } 为什么我们不能使用Test.b = 10; 在Test类本身的静态块内? 如果没有class级名称,它的工作正常。 这背后有什么理由吗?

为什么C#不允许在同一行上使用const和static?

为什么C#不允许在同一行上使用const和static? 在Java中,您必须将字段声明为“static”和“final”以充当常量。 为什么C#不允许你将const声明为final? 我进一步区分在Java中,每个接口都是公共的和抽象的,无论是否显式声明。 const本质上不是有效的静态吗? 为什么C#对此不以为然?