一、什么是final关键字
1.final关键字表示有最终的,不可修改的含义;
2.编译期常数,它永远不会改变;
3.final关键字有三种用途,可以分别应用于变量、成员方法和类。
二、final修饰属性
1.如果将某个变量修饰为final,那么该变量成为常量;
2.一般的语法:
[访问权限] + final + 数据类型 +常量名=值
3.final修饰属性初始值最好给值,否则默认为0或null;
4.常量必须全部为大写。
三、final修饰方法
1.如果将某个成员方法修饰为final,则意味着该方法不能被子类覆盖;
2.一般语法:
[访问权限] + final + 返回值类型 + 方法名(参数列表)
3.如果在派生类中出现同原型的方法,那么将会报错;
4.对方法"上锁",防止被继承时改变原意;
5.效率,只要编译器发现一个final方法调用,就会忽略为执行方法调用机制而采取的常规代码插入方法。
四、final修饰类
1.被final修饰的类称为"太监类",该类不能被继承(禁止继承);
2.一般语法:
[访问权限] + final + class + 类名 + 成员列表
3.任何类继承被final修饰过的类都将报错;
4.属性可以是final,也可以不是final;
5.方法不管有没有修饰,默认都是final的方法。
五、static final联合声明常量
1.使用static final联合声明的常量称为全局常量;
2.static声明的内容是所有对象共同拥有的。
六、final总结
1.使用final声明的类不能有子类;
2.使用final声明的方法不能被子类所覆写;
3.使用final声明的变量即成为常量,常量不可以修改。