问题标签 [final]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
18457 浏览

java - 字符串和最终

以下陈述有什么区别

虽然String类是final类,但为什么我们需要创建一个字符串“CONSTANT”变量作为final?

0 投票
6 回答
10804 浏览

java - 有没有办法为 Hibernate 管理的对象声明最终字段?

我刚刚开始使用 Hibernate,到目前为止我看到的所有示例都非常类似于 Hibernate 文档中的教程:

具体来说:没有一个字段被声明为final,并且必须有一个无参数的构造函数,以便 Hibernate 框架可以实例化该类并设置其字段。

但事情是这样的——我真的不喜欢让我的类以任何方式可变,只要我可以避免它(Java 实践:不可变对象为此做了一个非常有力的论据)。那么,即使我将每个字段都声明为“final”,是否有任何方法可以让 Hibernate 正常工作

我知道 Hibernate 使用反射来实例化它的类,因此需要能够调用某种构造函数,而不会冒险选择错误的构造函数或将错误的值传递给它的参数之一,所以它可能更安全调用无参数构造函数并一次将每个字段设置为一个。但是,难道不能向 Hibernate 提供必要的信息,以便它可以安全地实例化不可变对象吗?

注释当然是虚构的@SetsProperty,但似乎不应该是遥不可及的。

0 投票
2 回答
42506 浏览

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

在Java中我可以写:

C#中是否有任何等价物?

0 投票
2 回答
448 浏览

actionscript-3 - 有没有办法使用代理类在 Actionscript 3 中对字符串、数字、uint、int 或其他“最终”原语进行伪子类化?

似乎有办法,但我没有看到。过去,我曾在 Object 上使用 valueOf() 和 toString() 方法来使自定义对象根据上下文在数字或字符串中表现,但我想做更多。

0 投票
1 回答
3000 浏览

java - How do I enforce assigning to arguments of methods using FindBugs?

As an alternative to littering my code with thousands of final keywords in front of my parameters, I'm trying to enforce it using FindBugs.

It doesn't seem possible to do this, but there should be a way, shouldn't there?

Thanks

0 投票
6 回答
9483 浏览

php - 其他语言中静态变量的 PHP 等价物是什么?

我想知道 PHP 在类中是否有一种变量,其功能类似于其他语言中的静态变量。我的意思是同一类的所有对象都使用相同的变量,并且当它更新一个时,它会更新每个对象。静态很接近,因为它在所有对象中共享,但我需要能够更新它。我必须为此使用全局变量吗?

0 投票
5 回答
4504 浏览

c++ - 有没有办法禁止我的类的子类化?

假设我有一个名为“Base”的类和一个名为“Derived”的类,它是 Base 的子类,可以访问 Base 的受保护方法和成员。

我现在想要做的是使它没有其他类可以继承 Derived。在 Java 中,我可以通过将 Derived 类声明为“final”来实现这一点。是否有一些 C++ 技巧可以给我同样的效果?

(理想情况下,我想让除 Derived 之外的任何类都不能继承 Base。我不能将所有代码放入同一个类或使用friend关键字,因为 Base 和 Derived 都是模板化的,使用Base 的模板参数比 Derived 少....)

0 投票
11 回答
54026 浏览

java - Java中的最终变量操作

谁能告诉我以下行在Java上下文中的含义是什么:

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

据我所知,通过将任何变量声明为最终变量,您无法再次更改它,那么上面一行中不可变一词的含义是什么?

0 投票
12 回答
49360 浏览

java - 抽象类可以有最终方法吗?

Java中的抽象类可以有final方法吗?

0 投票
20 回答
203641 浏览

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

编辑:我需要更改几个变量的值,因为它们通过计时器运行了几次。我需要通过计时器在每次迭代中不断更新值。我无法将值设置为最终值,因为这将阻止我更新值,但是我收到了我在下面的初始问题中描述的错误:

我之前写过以下内容:

我收到错误“无法引用以不同方法定义的内部类中的非最终变量”。

这发生在名为 price 的 double 和名为 priceObject 的 Price 上。你知道我为什么会遇到这个问题吗?我不明白为什么我需要有一个最终声明。此外,如果您可以看到我正在尝试做什么,那么我必须做些什么来解决这个问题。