final:最终的
1. final可以用来修饰的结构:类、方法、变量
2. final用来修饰一个类:此类不能被其他类所继承。
比如:String类、System类、StringBuffer类
3.final用来修饰方法:表明此方法不可以被重写
比如:Object类中getClass();
4. final用来修饰变量:此时的"变量"就称为是一个常量
4.1 final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化

4.2 final修饰局部变量:
尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。

static final用来修饰属性:全局常量
修饰方法可以用类名来调用,方法不能被重写
练习题一:
public class Something {
public int addone(final int x) {
return ++x; //编译不通过
// return x + 1;//编译通过
}
}
练习题二:
public class Something {
public static void main( String[] args) {
Other o = new Other();
new Something( ).addone(o);
}
public void addone(final other o) {
// o = new Other( ) ;//报错
o.i++;//正常
}
}
class other {
public int i;
}
749

被折叠的 条评论
为什么被折叠?



