final:最终的
- final可以用来修饰的结构:类、方法、变量
- final用来修饰一个类:此类不能被其他类所继承。
比如:String类、System类、StringBuffer类 - final用来修饰方法:表明此方法不可以被重写
比如:object类中getclass( ); - final用来修饰变量:此时的"变量"就称为是一个常量
4.1:final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化
4.2: final修饰局部变量:
尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。就只能在方法体内使用此形参,但不能进行重新赋值。
static finl用来修饰属性,全局常量
例题1:
public class Something {
public int addOne(final int x) {
return ++x;
// 改成这样就行:return x + 1;
}
}
例题2:
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;//可编译,可通过
// o = new Other();这样不行,o改变了
}
}
class Other {
public int i;
}