final:最终的,最后的
final在不同的场景下的意义是不同的,但是大致来说,它是不可被更改的,final一般作用于三个场景
1. 当变量被final修饰的时候
public class TestFinal {
final int AGE = 12;
}
在使用final修饰变量的时候应该注意以下几点:
- 用final修饰的变量就变成了常量,在后期是不可不更改的
- 当一个变量声明为常量的后,此时应该给这个常量赋值,或者在构造方法中给他赋值否则报错
- 常量名应该全部使用大写,每个单词间用下滑线隔开
2. 当方法被fianl修饰的时候
package com.jmit.work7;
public class TestFinal {
}
//动物类
class Animal {
public final void sleep() {
System.out.println("睡觉");
}
}
//猫类继承动物类
class Cat extends Animal{
@Override
public void sleep() { //重写父类的常量方法
System.out.println("猫要睡觉");
}
}
此时代码语法出错:
在使用final修饰的方法是不能被重写的
3. 当类被fianl修饰的时候
final class Animal {
public void sleep() {
System.out.println("睡觉");
}
}
class Cat extends Animal{ //Cat继承了一个被final修饰的类
}
此时代码语法出错:
在使用final修饰的类是不能被其他的类去继承的
总结
final关键字是我们经常使用的关键字之一,它的用法有很多,但是并不是每一种用法都值得我们去广泛使用。它的主要用法有以下几种:
- 用来修饰数据,包括成员变量和局部变量,该变量只能在开始被赋一次值且它的值无法被改变。对于成员变量来讲,只能在声明常量的时候或者在它的构造方法中对它赋值
- 修饰方法,表示该方法无法被重写。
- 修饰类,表示该类无法被继承。