final 关键字表示'终态的','无法改变的', 它可以修饰非抽象类,非抽象方法及变量
final类不能被继承,没有子类,final类中的方法默认是final的
final方法不能被子类覆盖,但可以继承
final变量只能一次赋值,不可更改
final不能修饰构造函数
1. final类
final类不能被继承,没有子类,final类中的方法默认是final的。
如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为 final类
2. final方法
final方法不能被子类覆盖,但可以继承
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
3. final变量/常量
用final修饰的成员变量表示常量,值一旦给定就无法改变。
final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译 器都确保空白final在使用之前必须
被初始化
4. final参数
当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值
final类不能被继承,没有子类,final类中的方法默认是final的
final方法不能被子类覆盖,但可以继承
final变量只能一次赋值,不可更改
final不能修饰构造函数
1. final类
final类不能被继承,没有子类,final类中的方法默认是final的。
如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为 final类
2. final方法
final方法不能被子类覆盖,但可以继承
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
3. final变量/常量
用final修饰的成员变量表示常量,值一旦给定就无法改变。
final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译 器都确保空白final在使用之前必须
被初始化
4. final参数
当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值