我们如何在对象创建时初始化类的最终变量?
任何人都可以解释它怎么可能?…
您必须一次且仅一次初始化最终变量。有三种方法可以对实例变量执行此操作:
这是这三个示例:
public class X
{
private final int a;
private final int b;
private final int c = 10;
{
b = 20;
}
public X(final int val)
{
a = val;
}
}
在每种情况下,代码在您调用时都运行一次,new X(...)
并且无法再次调用其中的任何一个,这满足了初始化要求每个实例仅执行一次的要求。
本文向大家介绍用Java创建对象时可以初始化最终变量吗?,包括了用Java创建对象时可以初始化最终变量吗?的使用技巧和注意事项,需要的朋友参考一下 声明变量final后,在对其进行初始化之后,将无法进一步修改其值。此外,像实例变量一样,最终变量将不会使用默认值初始化。 因此,在声明最终变量后必须初始化它们。如果不是,则会生成编译时错误。 示例 编译时错误 初始化最终变量 您可以通过4种方式初始化最
我想了解各种情况下类实例的初始化 在JLS-7第12.5节中,没有提到如何以及何时初始化最终实例变量?如果实例变量被声明为final,是否有人能给我一点参考来理解其行为? 给出的输出如下 在哪里作为 是否将输出作为
下面的示例类无法编译: 此代码的编译错误消息是: 但是,对于包含以下方法的类,Java不会生成任何错误消息: 关于初始化及其要求,为什么Java对最终实例变量和最终局部变量的处理不同?谢谢
问题内容: 我不断遇到Java问题的细微变化,并且这个问题开始浮现,我真的想不出解决该问题的合适方法。 我有一个最终的但动态的对象属性。也就是说,我希望该值一旦分配便是恒定的,但该值在每个运行时可以不同。因此,我在课程开始时声明了课程级别变量-say 。然后,在构造函数中,给它分配一个值-说 当我的方法中有引发异常的代码时,问题就开始了。所以我在构造函数中尝试这样的事情: 现在我有一个错误-“空白
问题内容: 来自Sun文档 通常,您需要将代码放在构造函数中以初始化实例变量。 使用构造函数初始化实例变量有两种选择:初始化块和final方法。 我能理解初始化块的用法。谁能解释一下实例初始化方法的最终方法吗?非最终公开赛员可以完成这项工作。为什么不只是使用它们呢? 问题答案: 您链接到的同一Sun教程中已经描述了该优点: 最终方法不能在子类中覆盖。 有关接口和继承的课程将对此进行讨论。 非最终方
当训练模型时,用变量来存储和更新参数。变量包含张量 (Tensor)存放于内存的缓存区。建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘。这些变量的值可在之后模型训练和分析是被加载。 本文档描述以下两个TensorFlow类。点击以下链接可查看完整的API文档: tf.Variable 类 tf.train.Saver 类 创建 当创建一个变量时,你将一个张量作为初始值传入构造函数Va