final是 “最终”、“不能修改”的意思。
在java这门编程语言中,final是一个关键字,它可以被用来修饰类,变量以及成员方法。
被final修饰的变量,又叫被称为 自定义常量。
当final关键字修饰一个类,则该类会成为最终类,即该类不能被继承,但是该类可以有父类。
- public final class A {
-
- }
-
- //因为A被修饰为final,所有现在B想继承A会报错
- class B extends A{
-
- }
final修饰的变量不能修改,且在初始化时必须赋值
- public final class A {
- //使用final修饰的成员变量必须声明的同时赋值,且赋值后不允许修改
- final static double PI =3.14;
- //特别声明有static与没有static声明的变量赋值都只是一个默认值,在后面调用时可以更改这个值
- static int sex=20;
- int name=10;
-
- public static void main(String[] args) {
- A.PI=30;//这里修改常量PI 会报错
- System.out.println(A.PI);//3.14
-
- System.out.println(A.sex);//20
- A.sex=100;//默认值可以修改
- System.out.println(A.sex);//100
- }
- }
final修饰的变量不能修改,且在初始化时必须赋值
- public final class A {
- //final修饰的变量不能修改,且在初始化时必须赋值
- public static void main(String[] args) {
- final double PI=3.14;//常量
- PI=3.14159;//重新赋值会报错
- }
- }
final修饰的方法不能重写
- public class A {
- //final修饰的方法不能重写
- public final void some(){
- System.out.println("123");
- }
- public final void some(int a){
- System.out.println("456");
- }
-
- }
- class B extends A{
- //这里重写A的some方法会报错
- public final void some(){
- System.out.println("789");
- }
- }