final修饰一个变量时,引用不能变,引用变量所指向的对象中的内容可以变。
final StringBuffer a = new StringBuffer("abc");
a = new StringBuffer("");//编译错误
a.append("ddd");//编译成功
因此定义方法参数时不能通过final阻止方法内部修改传进来的参数对象
public void method(final StringBuffer param) {
param.append("aaa");//可以修改参数对象
}