final关键字

来源:互联网 发布:编写高性能的JS 编辑:程序博客网 时间:2024/06/08 18:11
一、final关键字可以用来修饰类、方法、变量。各有不同。
A、修饰类(class)。
1、该类不能被继承。 2、类中的方法不会被覆盖,因此默认都是final的。 3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类
B、修饰方法(method) 1、该方法可以被继承,但是不能被覆盖。 2、用途:一个类不允许子类覆盖该方法,则用final来修饰 3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用fianal方法转入内嵌机制,提高了执行效率。 4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)
C、修饰变量(variable) 1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。 2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。
D、修饰参数(arguments) 1、用final修饰参数时,可以读取该参数,但是不能对其作出修改
二、final关键字不能用来抽象类和接口。


作者:和奇谷朴
链接:http://www.jianshu.com/p/c1c4c4bd6a2c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。