package com.initblock;public class Test1
{
    //(2)
    {
        a = 10;
    //(1) System.out.println("a = " + a);
    }    int a = 9;
    public static void main(String[] args)
    {
        System.out.println(new Test1().a);
    }
}问题1 :为什么将(1)处代码去注释会报未定义前访问变量a的错误,但是上面一句的a=10又可以访问变量a ?
问题2 : 为什么将  int a = 9;移到(2)处就不会报任何错误,可以正常运行?