关于final类中的方法

a614128230 2016-12-13 10:01:45
final类中的方法自动变成final方法不能再被覆盖

这句话有些不理解,既然是final类了那么它就不能被继承,就不会被子类重写方法了,那么final类的方法是不是final方法又有什么影响呢?如何去验证这些方法自动被变成了final方法呢?
...全文
225 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱睡觉的阿狸 2016-12-13
  • 打赏
  • 举报
回复
也就是说final类的方法虽然没有被final修饰,但其实跟final修饰的方法效果差不多。 比如某人名义上不是你老婆,但为你干的事情跟你老婆一样,从功能上来说他就是你老婆,只是没有名分。
soton_dolphin 2016-12-13
  • 打赏
  • 举报
回复
他的意思是说,final 类里面的方法,即使你没有声明为 final,实际作用上和声明了final 一样
树成 2016-12-13
  • 打赏
  • 举报
回复
有区别,被fianl修饰的方法执行速度会稍快,它的调用指令与普通方法不同,因为final方法没有继承关系,所以调用不搜索方法表。具体去了解jvm执行引擎和方法调用指令
  • 打赏
  • 举报
回复


这是反编译出来的,可以看出final类的方法并没有被修饰成final,由于类以及被final修饰了,不能被继承,所以方法并没有必要是final的

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧