第一种:
public class Test{
  final int n=0;
}
第二种:
public class Test{
  final int n;
  public Test(){
    n=0;
  }
}
请问还有没有别的能为n赋值的方法?

解决方案 »

  1.   

    如果要赋别的值,为何还要用final去修饰
      

  2.   

    不知道你为什么要知道这个。
    在JAVA中,final修改,只是指只能赋一次值,并没有规定怎么样赋值或者在什么条件下赋值。
      

  3.   

    class Test{ 
    public Test(final int n){ 
    System.out.println(n); 

    public static void main(String[] args) {
    Test h = new Test(1234);
    }
      

  4.   

    如果是成员变量的话:
    对于final类型的实例变量,可以在定义变量时,或者在构造方法中进行初始化。
    对于final类型的静态变量,可以在定义变量时进行初始化,或者在静态代码块中初始化。如果是局部变量就不用说了,定义时初始化
      

  5.   

    排版真难看……再发一次
    class Test{ 
      Test(final int n){ 
        System.out.println(n); 
      } 
      public static void main(String[] args) {
        new Test(1234);
        new Test(567);
      }
      

  6.   

    一种也没有了,除非要改final
      

  7.   

    public class Test1 {
    final int n;
    boolean b;
    {
    if(b)
    n = 2;
    else
    n = 1;
    }
    }
      

  8.   

    final修改,只是指只能赋一次值