黑马程序员技术交流社区
标题: final修饰符修饰类的作用? [打印本页]
作者: Walking Walking 时间: 2013-3-21 09:53
标题: final修饰符修饰类的作用?
本帖最后由 徐盼盼 于 2013-3-21 11:34 编辑
在学习final修饰符时讲到,final可以修饰类、方法、变量。
被final修饰的类不可以被继承。是为了避免被继承,被子类复写功能。
被final修饰的方法不可以被复写。
那么被final修饰的类和方法有什么作用呢?在什么时候去使用呢?
作者: 我手心里的宝 时间: 2013-3-21 09:56
这个我现在看完了视频,还没有用到,只是修饰的属性经常用,哥们学习,先别纠结记住就行了
作者: HM刘俊 时间: 2013-3-21 10:05
就是说final关键字修饰后的类或方法不可被继承,
所以保证了他的行为不可改变。。
如果你设计一个类或方法不是为了被继承而设计,那么就应该使用final修饰。
作者: 刘国涛 时间: 2013-3-21 10:11
1、如果你不想别人通过继承你写的类而得到别人所需要的类,这个时候你就可以将你的类用final修饰,加上了这个修饰符之后,别人就继承不了你的类了。
2、如果将方法用final修饰,这也是一样的,别人就只能继承你这个方法了,用你定义的方法,而不能覆盖。
作者: qintoko 时间: 2013-3-21 10:54
你可以在查一下源码,按住ctrl然后点函数,就会发现,你熟悉的System.out.println("Hello JAVA");中的System类就是final类- public final class System
复制代码 有一些方法不必被继承,也不必被重写,这样才会有程序的规范性
举一个更生活的例子,Android的源码是开放的没错吧,但是,源码的过度开放导致厂商随意修改,导致Android的程序在不同的手机上出现不兼容的情况,反而更加麻烦,不是吗?
作者: strawberry2013 时间: 2013-3-21 11:08
final是Java关键字 final所标记的成分具有终态的特征,表示最终的意思
Java中final修饰符既可以修饰类、方法,也可以修饰变量
用final修饰的类不能被继承
用final修饰的方法不可重写
用final修饰的变量最多只能赋值一次 值不可变
作者: 黑马-周科 时间: 2013-3-21 11:20
被 finall 的语句是一定被执行的
既想执行的语句,有不想被继承,就用final
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |