高级类特性----final关键字

final 关键字


在Java中声明类、属性和方法时,可使用关键字final来修饰。

final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次

final标记的类不能被继承。提高安全性,提高程序的可读性。

final标记的方法不能被子类重写。增加安全性。

final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用。final PI=3.14;


关键字final应用举例


public final class Test {
  public static int totalNumber= 5 ;
  public final int id;
  public Test() {
    id = ++totalNumber;//只能在构造方法中给final变量赋值
  }
  public static void main(String[] args) {
    Test t = new Test();
    System.out.println(t.id);
    final int i = 10;
    final int j;
    j = 20;
    j = 30; //非法
  }
}


  

 1 public class TestFinal {
 2     
 3     int i = 10;
 4     int j;
 5     
 6     final int m = 10;
 7     final int n;
 8     
 9     public TestFinal() {
10         n = 100;
11     }
12     
13     public void test(){
14         i = 10;
15         j = 20;
16         
17 //        m = 100;
18     }
19     
20     public static void main(String[] args) {
22     }
24 }
25 
26 final class A {
27     
28 }
29 
30 //class B extends A {
31 //    
32 //}
33 
34 class C {
35     void method1(){}
36 }
37 
38 class D extends C {
39     @Override
40     void method1() {
41         // TODO Auto-generated method stub
42         super.method1();
43     }
44 }
原文地址:https://www.cnblogs.com/justdoitba/p/7228235.html