gpt4 book ai didi

java - Java 中的前向引用是什么?

转载 作者:太空狗 更新时间:2023-10-29 22:46:08 24 4
gpt4 key购买 nike

我已经通过了this question on legality of forward references 但不清楚 Java 语言中的 forward references 是什么意思。有人可以举例说明吗?

最佳答案

这是一个编译错误。这一切都与类变量声明的顺序有关。让我们使用一些代码进行说明:

public class ForwardReference {        
public ForwardReference() {
super();
}

public ForwardReference echoReference() {
return this;
}

public void testLegalForwardReference() {
// Illustration: Legal
this.x = 5;
}

private int x = 0;

// Illustration: Illegal
private ForwardReference b = a.reference();
private ForwardReference a = new ForwardReference();
}

如您所见,Java 允许您在类方法 中引用类变量,即使变量声明在之后> 方法。这是一个(合法的)前向引用的示例,Java 编译器内置了对此的支持。

不过,您不能做的是声明一个依赖于另一个尚未声明的类变量“b”的类变量“a”。依赖类变量声明必须以其依赖项的相反顺序出现。

另一方面,如果您的代码包含非法引用错误,大多数(如果不是全部)IDE 都会警告您。

section 8.3.2.3 中涵盖了非法的前向引用JLS 的。

关于java - Java 中的前向引用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14509481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com