Java final关键字用来修饰类、方法、属性
1.final修饰类:这个类不能被继承。如:String类、StringBuffer类、System类。
2.final修饰方法:不能被重写。如:Object类的getClass()方法。
3.final修饰属性:此属性就是一个常量,一旦初始化就不可再被赋值。习惯上,常用大写字符表示。
1)此常量不能使用默认初始化。
2)可以显示的赋值、代码块、构造器。
变量static final修饰:全局常量
- public class TestFinal {
- public static void main(String[] args) {
- //显式赋值给常量
- final int NUM = 10;
- //NUM已经被初始化过了,不能被修改
- NUM = 22;//此处出错
- }
- }
- //A类使用final修饰,则A不能被继承
- final class A {
- }
- //B类继承A类出错
- class B extends A {//此处出错
- }
- class C {
- //method0()方法使用final修饰,则method0()方法不能被重写
- public final void method0() {
- }
- }
- class D extends C {
- //重写method0()出错
- public void method0() {//此处出错
- }
- }
- class E {
- //代码块给常量初始化
- final String NATION;
- {
- NATION = "CHINA";
- }
- //构造器给常量赋初值
- final int MONEY;
- public E() {
- MONEY = 100000000;
- }
- //全局常量,例如:Math.PI
- static final int height = 173;
- }

浙公网安备 33010602011771号