final相关内容

不能引用在不同方法中定义的内部类中的非最终变量

编辑:我需要更改几个变量的值,因为它们通过计时器运行了几次.我需要通过计时器在每次迭代中不断更新值.我无法将值设置为最终值,因为这将阻止我更新值,但是我收到了我在下面最初问题中描述的错误: 我之前写过以下内容: 我收到错误“无法引用以不同方法定义的内部类中的非最终变量". 这发生在名为 price 的 double 和名为 priceObject 的 Price 上.你知道我为什 ..
发布时间:2022-01-30 08:55:51 Java开发

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

请帮助我理解 Java 中常量变量和 final 变量之间的区别.我有点困惑. 解决方案 Constant是概念,是变量的属性. final 是声明常量变量的java关键字. 正如其他人指出的那样,从语义/语言的角度来看,表达式 constant variable 是矛盾的,因此,我们可以争论它的正确性. 引用规范,无论如何,我们可以阅读 原始类型的变量 [...] ..
发布时间:2022-01-23 23:54:24 Java开发

为什么java常量声明为静态的?

为什么java常量声明为静态的? 类Foo{静态最终 int FII = 2 ;} 在这我明白final的用法了吗?购买为什么它必须是静态的?为什么它应该是类变量,而不是实例变量? 解决方案 如果它可能因类的实例而异,那么它显然不是常量.为 Math 的每个实例获取不同的 pi 值意味着什么(不是说 Math 甚至允许构造实例)?或者 String 的每个实例都有不同的不区分大小写的顺 ..
发布时间:2022-01-23 23:40:24 Java开发

Java 的 final 字段值的“最新"保证是否扩展到间接引用?

Java 语言规范在 中定义了 final 字段的语义第 17.5 节: final 字段的使用模型很简单.在该对象的构造函数中设置对象的最终字段.在对象的构造函数完成之前,不要在另一个线程可以看到它的地方写对正在构造的对象的引用.如果遵循这一点,那么当另一个线程看到该对象时,该线程将始终看到该对象的最终字段的正确构造版本.它还将看到至少与最终字段一样最新的最终字段引用的任何对象或数组的版本 ..
发布时间:2022-01-22 20:33:52 Java开发

switch 语句中的最终变量大小写

final int a = 1;最终诠释 b;b = 2;最终整数 x = 0;开关 (x) {案例一:休息;//行案例b:休息;//编译器错误:需要常量表达式}/* 编译器结果:需要常量表达式案例b:休息;^1 个错误*/ 为什么会出现这种错误?如果我做了 final int b = 2,一切正常. 解决方案 b 可能没有被初始化,可能被分配了多个值.在您的示例中,它显然已初始化,但 ..
发布时间:2022-01-19 10:41:43 Java开发

为什么Java编译器不理解这个变量总是被初始化?

类Foo{公共静态无效主要(字符串参数[]){最终诠释 x=101;整数y;如果(x>100){y=-1;}System.out.println(y);}} Java 编译器理解 if 语句的条件始终为真,因此 y 将始终被初始化.正如预期的那样,没有编译错误. 类栏{公共静态无效主要(字符串参数[]){最终诠释 x;x=101;整数y;如果(x>100){y=-1;}System.out.p ..
发布时间:2022-01-18 23:19:57 Java开发

在 Java 中对变量使用 final 会改善垃圾收集吗?

今天我和我的同事讨论了在 Java 中使用 final 关键字来改进垃圾收集. 例如,如果您编写一个方法,例如: public Double doCalc(final Double value){最终双最大重量 = 1000.0;最终双总重量 = 最大重量 * 值;返回总重量;} 在方法final中声明变量将有助于垃圾回收在方法退出后从方法中未使用的变量中清理内存. 这是真的吗? ..
发布时间:2022-01-16 09:36:49 Java开发

Java中的最终静态变量线程安全吗?

我已经阅读了很多,但还没有找到明确的答案. 我有一个看起来像这样的类: 公共类 Foo() {private static final HashMap共享数据;私人最终 HashMap myRefOfInnerHashMap;静止的 {//耗时的sharedData初始化final HashMapinnerMap = new HashMap;内部映射.put...内部映射.put.... ..
发布时间:2022-01-05 20:34:29 Java开发

为什么java常量声明为静态?

为什么 Java 常量声明为静态的? class Foo{静态最终 int FII = 2 ;} 在这我明白final的用法了吗?购买 为什么它必须是静态的?为什么它应该是一个类变量,而不是一个实例变量? 解决方案 如果它可能因类的实例而异,那么它显然不是一个常量.为 Math 的每个实例获得不同的 pi 值意味着什么(不是 Math 甚至允许构造实例)?或者对 String 的每个实 ..
发布时间:2022-01-05 20:26:57 Java开发

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

根据我对Java语言的理解,可以在静态初始化块中初始化静态变量. 但是,当我尝试在实践中实现这一点时(static 变量也是 final),我得到如下屏幕截图所示的错误: 解决方案 当然可以:static final 变量可以在静态块中初始化但是....在那个例子中你有隐含的 GOTO(try/catch 本质上是一个 '如果发生不好的事情,GOTO catch'). 如果抛出 ..
发布时间:2022-01-05 20:19:28 Java开发

final static 和 static final 的区别

我发现了一个代码,它声明了这样的代码 private final static String API_RTN_SUCCESS = "0";私有最终静态字符串 API_RTN_ERROR = "1";public static final String SHARED_PREFERENCE_CONFIG = "shared_preference_config";public static final ..
发布时间:2022-01-05 20:17:58 Java开发

如何在 Java 中扩展 final 类

这是我现在面临的问题.我有一个类,比如说 Foo,这个类定义了一个名为 getBar 的方法,它返回一个 Bar 实例.Bar 类定义在 Foo 中,并声明为 public static final.我想要做的是定义一个扩展 Foo 的类 MyFoo 但我也想用 MyBar 扩展 Bar> 通过添加我自己的功能(方法、属性等).我还希望 getBar 返回 MyBar. 问题是 Bar 是最 ..
发布时间:2022-01-05 20:17:28 Java开发

如何处理引发检查异常的静态最终字段初始值设定项

我正面临一个用例,我想声明一个带有初始化语句的 static final 字段,该字段声明为抛出已检查的异常.通常,它看起来像这样: public static final ObjectName OBJECT_NAME = new ObjectName("foo:type=bar"); 我在这里遇到的问题是 ObjectName 构造函数可能会抛出各种检查异常,我不关心(因为我知道我的名字是有 ..
发布时间:2022-01-05 20:14:41 Java开发

类中的静态块和静态变量以什么顺序执行?

可能的重复: Java 静态类初始化 为什么在初始化块中更新的是字符串变量而不是整数(即使块是先写入的) class NewClass{静止的{System.out.println(NewClass.string+" "+NewClass.integer);}最终静态字符串字符串=“静态";最终静态整数整数=1;public static void main(String [] args ..
发布时间:2022-01-05 20:00:45 Java开发