23 final关键字(完结器)

23 final关键字(完结器)

本质

不可以被修改--------定义的都是最终版本

//记住final和abstract是死对头,不能同时出现在一个类或一个方法上

常规用法

1.修饰类(无法被继承)

final class A{

}
//类A不能被继承

2.在类中修饰属性(常量)

class A{
    public final String NAME="张三";
    //被final的属性都称为常量,无static叫局部常量,有static的叫全局常量
}

3.在类中修饰方法(不能被重写)

class B{
   public final void print(){
      System.out.println("final关键字与abstract关键字具有互斥性")
   }
}

回想abstract特点

所以abstract与final不能同时修饰方法,典型错误如下所示:

4.在类中与static搭配修饰属性(全局常量)

class C{
   public static final String NAME="张三";
  //好处在于类c的NAME可以直接通过类名.常量名调用,而之前类A中的NAME不行
}

典型体现

Math类(不允许被继承)

Math中的常量希望能通过类名.常量名的形式调用

原文地址:https://www.cnblogs.com/SSSzhanglingzhi/p/14060093.html