解决方案 »

  1.   

    final double PI = 3.1415926589793d;
    PI = 2.1d;
    System.out.println(PI);
      

  2.   

    final关键字修饰的变量,是常量除了初始化之外,不可以被再次赋值;Static修饰的变量是全局变量,如果为引用型,该引用不能指向其他的对象,但是该引用指向的对象本身是可以改变其值的。也就是说如果是基本类型的,那么它的值不能再改变;如果是对象,则引用不可变,而对象本身还是可以改变的。
      

  3.   

    该变不了的
    如果有private final int i;
    这样在声明是没有初始化,则可以在构造函数中进行初始化
    如果有private final int i=0;
    就不能在构造函数中初始化啦
    static final是常量了,必须在声明时就初始化
      

  4.   

    1.在构造方法中可以改变的意思是,构建对象时必须初始化这样的实例域,初始化之后就不能再对它修改了。
    2.加static之后就是静态的,是属于类的,是在类初始化时对其赋值,所以构造方法肯定管不到静态的东西。