Java-Final关键字
1.概念
final:最终的
- final可以修饰的结构
- 类(最终的类,此类不能被其他类继承,比如String类、StringBuffer类)
- 方法(最终的方法,此方法不能被重写,比如Object 类中的getClass())
- 变量(最终的变量,变量是不能更改的,是一个
常量
)
- final修饰属性,可以考虑初始化值的位置有:显式初始化,代码块中初始化,构造器中初始化
对象出生是常量就必须初始化上值,所以不能在方法中初始化值
- final修饰局部变量(尤其是使用final修饰形参是,表示形参是一个常量,当我们调用此方法时,给常量形参赋一个实参,一旦赋值以后,就只能在方法体内使用此形参,但不能重写进行赋值)
static final
用来修饰属性(全局常量)
2.code举例
package p1;
public class FinalTest {
final int WIDTH = 10;
final int LEFT;
final int RIGHT;
public void doWith() {
WIDTH = 30;
}
{
LEFT = 1;
}
public FinalTest() {
RIGHT = 2;
}
public void show() {
final int numa = 10;
}
public void show2(final int numa) {
numa = 10;
}
public static void main(String[] args) {
}
}
final class FinalA {
}
class B extends FinalA {
}
class AA {
public final void show() {
}
public final void show(String name) {
}
}
class BB extends AA {
@Override
public void show() {
}
}