今天看了几个小题,关于final关键字的,又被绕里了,平时不太重视这个关键字,今天就栽了跟头。
一提起final,马上就想到final嘛,就是一旦赋值就不能改变嘛,错就错在没细细体会这句话。
对于final,分两个部分总结下
1.final修饰基本数据类型:当final修饰成员变量时,成员变量必须显示初始化,
因为被final修饰的基础类型的成员变量是没有默认值的
2.final修饰引用数据类型:final修饰引用变量,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的,例如:
final StringBuffer sb=new StringBuffer ();
sb=new new StringBuffer (); 就是报错,因为改变了sb的指向。
但是
sb.append("abc");
是正确的,sb的指向并未改变
|
|