final
final类:不可被继承。
final变量:常量,定义就要显示初始化,之后不能再被重新赋值。可以被继承。
final方法:在子类可以被继承;可以被"重载";但是不能被重写(override).
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
package com.fs.po;
public class A {
public final int AGE = 100;//全局
public void m1() {
int x = this.AGE;
System.out.println(x);
// this.AGE = 342; //错的。final变量(常变量),定义就要显示初始化,之后不能再被重新赋值。
}
public final void final_m2() {
final int x=10; //局部
System.out.println(x);
// x = 34; //错的。final变量(常变量),定义就要显示初始化,之后不能再被重新赋值。
//The final local variable x cannot be assigned. It must be blank and not using a compound assignment
}
public static void main(String[] args) {
System.out.println(new A().AGE);
new A().m1();
new A().final_m2();
}
}
/*——————————————————————————————————————————————————*/
package com.fs.po;
public class B extends A {
@Override
public void m1() {
}
// public final void final_m2() {
// 不能重写final修饰的方法
// }
public void final_m2(int x) {
// 可以再子类中"重载"final修饰的方法
}
public static void main(String[] args) {
A a=new A();
System.out.println(a.AGE);
a.m1();
a.final_m2();
B b=new B();
System.out.println(b.AGE);//final变量可以被继承。
//b.AGE=11;//错。不能再被修改
b.m1();
b.m1();
b.final_m2();//对的。//final方法在子类子类可以被继承;可以被"重载";但是不能被重写(override).
}
}