当前位置: 首页 > 面试题库 >

Java法律前向引用

秦昊穹
2023-03-14
问题内容

以下代码是否适用于合法正向引用?如果是,为什么?

public class MyClass
{
  private static int x = getValue();
  private static int y = 5;
  private static int getValue()
  {
    return y;
  }
  public static void main(String[] args)
  {
    System.out.println(x);
  }
}

问题答案:

上面的代码完全是合法的Java。在Java中,静态字段的初始化如下:首先,将所有字段的类型(0
false,或null)设置为默认值,然后按照声明它们的顺序进行初始化。这意味着上述代码可以保证做到以下几点:

  1. xy设置为零,因为这是ints 的默认值。
  2. x通过调用进行初始化getValue(),以读取的值y。由于y尚未初始化,因此其值仍为0。
  3. 初始化y为5。

这意味着x它将取值为0,y将取值为5。此行为是可移植的并且可以保证。 您可以在这里看到

希望这可以帮助!



 类似资料:
  • 问题内容: 嗨,当我尝试从excel工作表中提取数据时,文件对象创建中出现了非法的前向引用错误。 如何解决呢? 问题答案: “非法前向引用”是指您试图在定义变量之前使用它。 在这种情况下,您尝试在的声明中调用on的方法。

  • 问题内容: 我正在用Java编写游戏,该游戏由一排瓷砖组成。我将无法以独创性方式定义图块的边缘以及它们之间的相互关系,例如,要获得图块的相对边缘,我希望能够输入。但是,当使用枚举定义这些边时,我最终不得不在构造函数中转发至少其中两个引用: 有没有什么办法可以使用枚举来解决这个问题呢? 问题答案: 您可以这样做不是那么直观。

  • 请注意,我不是在询问Java包命名约定。 例如,Java在法律上不允许包名以数字开头。 然而,官方的Java文档似乎并没有涵盖实际的规则,管理什么可以或不可以在一个包名称中使用。 那套合法的包名是什么?

  • 本文向大家介绍前向 后向算法相关面试题,主要包含被问及前向 后向算法时的应答技巧和注意事项,需要的朋友参考一下 https://blog.csdn.net/xueyingxue001/article/details/52396494