Java中的final关键字
使用final关键字可以完成如下的操作:
.声明一个类
使用final去修饰一个类时,该类不能被继承
1 2 3 4 5 6 7 8 9 10 11 | final class example{ int value; public int getValue(){ return value; } } //这里的test想要继承example,但是example被final修饰,所以在编译时会报错 class test extends example{ } |
.声明一个方法
使用final修饰一个类的方法,则该方法不能被子类重写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class example{ int value; final public int getValue(){ return value; } } class test extends example{ public int getValue(){ } } //这里的test类尝试重写父类example的方法getValue(),但是在父类中getValue()使用final修饰,会报无法覆盖父类方法的错误 |
.声明一个常量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | class example{ final int value = 100 ; final int value1; public int setValue(){ value = 200 ; return value; } } //类中的value使用了final修饰,说明value是一个常量,方法setValue()尝试去修改value的值,在编译期间会报无法为最终变量value指定值的错误. //另外使用final修饰的value1初始化时没有赋值,也会报错,因为它是一个常量,不能没有值,这种情况可以在构造方法中赋值,如下 class example{ final int value; example( int value){ this .value = value; } } //注意,只有构造方法才可以给未初始化的final变量赋值 |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步