本文主要是介绍每日一课 | Java Final关键字示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Java中的Final关键字是一个修饰符,用于限制用户执行不需要的代码或防止代码或值被更改。可以在3个上下文中使用此关键字。他们是:
最终关键字作为变量修饰符
最终关键字作为方法修饰符
Final关键字作为类修饰符
每个上下文都有其自身的意义和暗示的限制。它们将在下面详细讨论。
1. FINAL关键字作为变量修饰符
每个上下文都有其自己的不同目的。 final
,当与变量一起使用时,专门用于限制用户在代码中的其他任何地方更改值。 final
变量一旦初始化,其值就无法更改。
如果final
变量只是声明但未初始化,则允许在整个代码中为final
变量分配一个值。 final
变量值的任何多次更改将导致编译错误。
例如,如果尝试编译,下面的代码将给出编译时错误。
FinalVariableExample.java
package com.mkyong;
public class FinalVariableExample {final int count = 0; public FinalVariableExample() {count++; //The final field FinalVariableExample.count cannot be assigned}
}
输出量
Output: Compile Time error
2. FINAL关键字作为方法修饰符
final
,当与method一起使用时,它限制了继承的类以覆盖method的定义。例如,下面的示例给出了一个编译时错误,因为FinalMethodChild
类试图覆盖final
方法testCode()
FinalMethodParent.java
package com.mkyong;
public class FinalMethodParent {final void testCode(){System.out.println("This is a final method");}
}class FinalMethodChild extends FinalMethodParent{ //Cannot override the final method from FinalMethodParentvoid testCode(){System.out.println("This is overriding method");}
}
输出量
Output: Compile Time error
3. FINAL关键字作为类修饰符
final
,当用于一个类的修饰符时,它限制该类被任何其他类扩展或继承。例如,如果您尝试编译以下代码,则它会给出编译时错误,因为FinalClassParent
类是无法进一步扩展的最终类。
FinalClassParent.java
package com.mkyong;
public final class FinalClassParent {final void testCode(){System.out.println("This is a final method");}
}//The type FinalClassChild cannot subclass the final class FinalClassParent
class FinalClassChild extends FinalClassParent{ void testCode(){System.out.println("This is overriding method");}}
输出量
Output: Compile Time error
参考文献:
了解班级成员
最终关键字Wiki页面
翻译自: https://mkyong.com/java/java-final-keyword-example/
推荐阅读--
每日一课 | Java 中如何将 ArrayList 与 HashSet 互相转换?
每日一课 | JavaScript基础
每日一课 | JavaScript的事件
每日一课 | JavaScript的内置对象
球分享
球点赞
球在看
这篇关于每日一课 | Java Final关键字示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!