笔记:final 关键字

83 阅读1分钟
  1. final 可以用来修饰类、方法、变量。

  2. final 用来修饰一个类

    • 代表不能延续,不能被继承,不能有子类

      final class Person {
      	// 不能被继承
      }
      
  3. final 用来修饰一个方法

    • 表明此方法不能被重写

      class Person {
          public final void eat() {
              // 类被继承了方法也不能被重写
          }
      }
      
  4. final 用来修饰一个变量

    1. final 来修饰一个属性

    • 表明变量不能再变化

    • 当使用final来修饰一个变量后可以通过 显式初始化、代码块初始化、构造器初始化。

      public class Person {
          final int age = 1; // 显示初始化
      
          final int height;
      
          {
              height = 185; // 代码块初始化
          }
      
      
          final int weight;
      
          Person() {
              weight = 160; // 构造器初始化
          }
      }
      
    • 只要在类的对象生成之前对 final 修饰的变量初始化就不会报错。因为类生成之后被 final 修饰的变量应该已经有初始化的值并且不在改动。

    1. final 来修饰局部变量

    • final 修饰方法体内的局部变量,局部变量不能再变化。

    • final 修饰方法体的形参。只能使用形参,不能修改形参

      public class test {
          public void show() {
              final int NUM = 10; // final 修饰方法体内的局部变量,局部变量不能再变化。
          }
      
          public void show(final int NUM) {
              System.out.println(NUM); // final 修饰方法体的形参。只能使用形参,不能修改形参
          }
      }
      
  5. static final 用来修饰属性(全局常量)、方法