Java 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 FinalMethodParent
  void 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

  

posted @ 2020-10-28 22:40  summer_xbc  阅读(134)  评论(0)    收藏  举报