final关键字

概述

final关键字可修饰类、变量、方法,有"无法改变"或"最终"的含义,不同成员被final修饰,有着不同的特性。

final修饰类

Java中的类被final修饰后,该类将不可被继承,也就是不能派生子类。

final class A{}
class B extends A{}//报错,不能继承被final修饰的类

final修饰方法

当一个类中的方法被final修饰后,该类的子类将不能重写该方法。

class A{
  public final void main1(){}
}
class B extends A{
  public void main1(){}//报错,不能重写父类方法
}

final修饰变量

Java中被final修饰的变量称为常量,只能被赋值一次,也就是说final一旦被赋值就不能改变。

常量命名规范

所有字母大写,每个单词用"_"隔开,例如:"TOTAL_NUM"。

final修饰变量的情况有两种:

  1. final修饰局部变量
    {
      final int num = 1;
      num = 4;//报错,只能赋值一次,第二次会报错。
    }
  1. final修饰成员变量
class A{
    final String NAME;//报错,被final修饰的变量尚未被初始化
}

这是因为虚拟机不会对final修饰的成员变量进行初始化,也就没有默认值,所以定义final修饰的成员变量的同时必须赋值

全局常量

定义格式:

public static final 数据类型 常量名 = 数据;

posted on 2021-10-05 19:53  技术小伙伴  阅读(159)  评论(0)    收藏  举报