Java基础之final关键字

final是Java中一个重要的关键字,代表“最终的,不可改变的”
常见四种用法:

  • 可以用来修饰一个类
  • 可以用来修饰一个方法
  • 可以用来修饰一个成员变量
  • 可以用来修饰一个局部变量

1.final修饰一个类

格式:

//当前这个类不能有任何一个子类
public final class 类名称 {
    //.......
}

final修饰的类,不能有子类(但是可以有父类)。
一个类如果是final,其中所有的方法都不能进行覆盖重写。

2.final修饰方法

格式:
修饰符 final 返回值类型 方法名称(参数列表){方法体}
当final修饰一个方法是,这个方法不能被覆盖重写
注意:
对于类、方法来说,abstract关键字和final关键字不能同时使用!

3.final修饰成员变量

final修饰成员变量,这个变量不可变
- 由于成员变量有默认值,所以用了final之后,必须手动赋值,不会再给默认值了
- 对于final的成员变量,要么使用直接赋值,要么使用构造方法赋值(二者选其一),但必须保证所有重载的构造函数都赋值。

4.final修饰局部变量

用final修饰的局部变量,这个变量不能被更改(一次赋值,终生不变)
注意:只要保证有唯一一次赋值即可,如

        final int num2;
        num2 = 100;

对于基本类型来说,不可变说的是变量当中的数据不可变;
对于引用类型来说,不可变说都是变量当中的地址值不可改变。(但改地址上的内容可以改变!)

        final MyClass m1 = new MyClass();
        //错误写法,不能改变m1地址
        m1 = new MyClass();

猜你喜欢

转载自blog.csdn.net/sinat_21107433/article/details/81121389