public class  MainTest
{
   private final int a;    public void MainTest( )
    {
        a=5;//此句有问题,不可以初始化
    }    public void show( )
    {
       System.out.println("a= "+a);
    }        public static void main(String []args)
    {
       
        MainTest t=new MainTest();
        t.show();
       
    }}
非静态域为空白终结型的该如何初始化啊?
我听说可以有两种方法 1在构造函数中赋值
                      2提供一个初始化模块,一块这样的模块在内部类中请教各位友人,能否帮我分别来实现我这个例子中的a的初始化问题.(a修饰符不可变)谢谢.

解决方案 »

  1.   

    public class  MainTest
    {
       private final int a;
       { 
         a = 5;
        }    public void MainTest( )
        {
           
        }    public void show( )
        {
           System.out.println("a= "+a);
        }        public static void main(String []args)
        {
           
            MainTest t=new MainTest();
            t.show();
           
        }}
      

  2.   

    public class  MainTest
    {
       private final int a;    public /*void*/ MainTest()  //把void去掉
        {
            a=5;
        }    public void show( )
        {
           System.out.println("a= "+a);
        }        public static void main(String []args)
        {
           
            MainTest t=new MainTest();
            t.show();
           
        }}
      

  3.   

    public MainTest()
    {
    a = 5 ;  //构造方法中的初始化
    }