public class Example3
{
String str;
public Example3(String str)
{
this.str=str;
System.out.println(this.str);
}
public static void main(String[] args)
{
final Example3 one=new Example3("Hello");
one=new Example3("hello world");
}

}

解决方案 »

  1.   

    final是个修饰符,放在类前面,该类不能被继承。放在属性前面,属性不可变。放在方法前面,该方法不能被重写。
    你前面final Example3 one=new Example3("Hello");已经把one就成不可变的了
    后面one=new Example3("hello world");又想改变one里的值当然是不行的了。
    想不出错把final去掉,不过我不知道你想干什么
      

  2.   

    对不起:我知道怎么办了把fina去掉就可以了!!
    谢谢各位的支持!
    小弟在这里谢了!!
      

  3.   

    final定义了该变量不能被改变,
    所以one=new Example3("hello world");这句话不能用.