가능한 중복 :
Scala: forward references - why does this code compile?스칼라 앞으로 참조
object Omg {
class A
class B(val a: A)
private val b = new B(a)
private val a = new A
def main(args: Array[String]) {
println(b.a)
}
}
다음 코드 인쇄 "널 (null)". 자바. 무효 전방 참조 때문에 유사한 구조가 컴파일되지 않습니다. 질문은 왜 스칼라에서 잘 컴파일 되는가? 그것은 의도적으로 SLS에 설명되었거나 2.9.1의 버그입니까?
이 그것이 발은 그 값을 변경할 수 있다는 것입니다에 대해 날 귀찮게 문제. 저를 슬프게합니다 :-( – thoredge
조금 이상합니다. 많은 에러가 생길 수 있습니다. Java 동작에 의존하기 때문에 사용하기 전에 값을 초기화해야합니다. – jdevelop
@jdevelop Java가 모두 catch하지 않습니다. 가능한 순방향 참조. –