重要阐明:本篇为博主《面试题精选 - 根底篇》系列中的一篇,查看系列面试文章 请关注我。
Gitee 开源地址:https://gitee.com/mydb/interview
final 定义
final 翻译成中文是“最终”的意思,它是 Java 中一个常见关键字,应用 final 润饰的对象不容许批改或替换其原始值或定义。
比方类被 final 润饰之后,就不能被其余类继承了,如下图所示:
final 的 4 种用法
final 的用法有以下 4 种:
- 润饰类
- 润饰办法
- 润饰变量
- 润饰参数
1. 润饰类
final class Animal {}
阐明:被 final 润饰的类不容许被继承,示意此类设计的很完满,不须要被批改和扩大。
2. 润饰办法
public class FinalExample {public final void sayHi() {System.out.println("Hi~");
}
}
阐明:被 final 润饰的办法示意此办法提供的性能曾经满足以后要求,不须要进行扩大,并且也不容许任何从此类继承的类来重写此办法。
3. 润饰变量
public class FinalExample {
private static final String MSG = "hello";
//......
}
阐明:当 final 润饰变量时,示意该变量一旦被初始化便不能够被批改。
4. 润饰参数
public class FinalExample {public void sayHi(final String name) {System.out.println("Hi," + name);
}
}
阐明:当 final 润饰参数时,示意此参数在整个办法内不容许被批改。
final 作用
应用 final 润饰类能够避免被其余类继承,如 JDK 代码中 String 类就是被 final 润饰的,从而避免被其余类继承,导致外部逻辑被毁坏。
String 类局部源码如下:
总结
final 是 Java 中常见的一个关键字,被它润饰的对象不容许批改、替换其原始值或定义。final 有 4 种用法,能够用来润饰类、办法、变量或参数。
关注公众号:Java 面试真题解析,查看更多 Java 面试题。