Java中的final方法
2015-01-07 16:45
197 查看
将方法声明为final那有两个原因:
第一就是说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,
但是继承仍然可以继承这个方法,也就是说可以直接使用。
第二就是允许编译器将所有对此方法的调用转化为inline调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,
而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,
然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。
Done!
第一就是说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,
但是继承仍然可以继承这个方法,也就是说可以直接使用。
第二就是允许编译器将所有对此方法的调用转化为inline调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,
而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,
然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。
Done!
相关文章推荐
- Java中的static块和final方法[ZT]
- java.lang.System 的in是final的,为什么要有public static void setIn(InputStream in)方法?
- 黑马程序员_Java基础_面向对象(继承、子父类变量和函数以及构造函数特点、final关键字、抽象类、模版方法模式、接口)
- java final用在方法参数中
- 为什么Java匿名内部类中的方法参数必须定义为final
- JAVA方法中的参数用final来修饰的原因
- 方法对象java final关键字的用法
- 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明
- 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明
- Java中的final方法
- Java中局部内部类可以访问它所在方法中定义的final修饰的局部变量的合理解释
- JAVA判断修饰符的方法(比如static,final)
- java学习:构造方法、static、final
- JAVA方法中的参数用final来修饰的原因
- Java final 类,final 方法,final变量
- java final方法执行效率测试
- 关于java中final方法,类,成员变量的讨论
- Java中的方法重写 与 final关键字
- C里是const java用final 被声明为final的方法或类不能被继承
- JAVA 静态方法和静态变量和final和※静态import※