public class MyClass { {
sf1 = 10;
//sf1 = if1; //if1没有声明
//int a = 2 * sf1; //sf1没有声明
int b = sf1 = 20; //可以在赋值左侧做出前向引用
int c = this.sf1;
}

int sf1 = sf2 = 30;
int sf2;
int if1 = 5;
}“int b = sf1 = 20;//可以在赋值左侧做出前向引用”中的前向引用是什么意思?为何这条语句就没有报错?谢谢。