final 关键字有终态的,无法改变的含义,可以修饰非抽象类,非抽象类成员方法和成员变量。
final变量:
被final修饰的变量相当于常量,一旦赋值就不允许修改。
final修饰的变量有3种:静态变量,实例变量,与局部变量。
final变量是可先声明,不赋值,这种变量称为final空白,final空白在使用前必须初始化。
final方法:
如果一个类不允许子类覆盖某个方法,可以把这个方法定义为final类型。(1把方法锁定,防止子类修改该方法的意义和实现,2编译器当遇到final方法时会转入内嵌机制,提高效率)
父类的private方法是不允许子类覆盖的,因此private方法默认为final类型。
final类:
final类不能被继承,所以final类的成员方法都是不能被覆盖的,默认为都是final类型的。在设计类时,如果这个类不需要有子类,并且类的实现不允许改变,可以将该类设计为final类型的。
final参数:
当方法的参数为final类型时,允许使用但不允许改变该参数。
final变量:
被final修饰的变量相当于常量,一旦赋值就不允许修改。
final修饰的变量有3种:静态变量,实例变量,与局部变量。
final变量是可先声明,不赋值,这种变量称为final空白,final空白在使用前必须初始化。
final方法:
如果一个类不允许子类覆盖某个方法,可以把这个方法定义为final类型。(1把方法锁定,防止子类修改该方法的意义和实现,2编译器当遇到final方法时会转入内嵌机制,提高效率)
父类的private方法是不允许子类覆盖的,因此private方法默认为final类型。
final类:
final类不能被继承,所以final类的成员方法都是不能被覆盖的,默认为都是final类型的。在设计类时,如果这个类不需要有子类,并且类的实现不允许改变,可以将该类设计为final类型的。
final参数:
当方法的参数为final类型时,允许使用但不允许改变该参数。