黑马程序员技术交流社区

标题: Java中final的使用? [打印本页]

作者: 小菜_一碟    时间: 2016-10-29 02:47
标题: Java中final的使用?
Java中final的使用是怎样的?越详细越好,包括对域的修饰、方法的修饰、引用的修饰等都考虑。

作者: leizhangjian    时间: 2016-10-29 13:57
被final 修饰的类为最终类,不能被继承;被final修饰的方法不能被重写;被final修饰的变量为常量且只能被赋值一次
作者: 黑马初学者    时间: 2016-10-30 00:32
加油,一起努力
作者: 小菜_一碟    时间: 2016-11-27 22:57
leizhangjian 发表于 2016-10-29 13:57
被final 修饰的类为最终类,不能被继承;被final修饰的方法不能被重写;被final修饰的变量为常量且只能被赋值 ...

补充:被final修饰的引用其地址不能改变,但是被引用的对象本身内容还是可以变化的
作者: duanqichao    时间: 2016-11-28 23:37
final的本意为:最终的,正如这个本意,所有被final修饰的成员均为最终状态。比如:
1:用final去修饰成员变量和局部变量,变量就会变成常量,仅仅能被赋值一次,不允许重复赋值。(此时一般和public  static 一起用,public static final 是一组常用的常量修饰符组合)
2:被final修饰的方法不能被子类重写,为最终方法。
3:被final 修饰的类就不能被继承。
4:被final修饰的基本数据类型的变量,被赋值后不能再改变,成为常量。被final修饰的引用数据类型变量,对象的地址值不能再改变,但是对象的属性还是可以通过set方法去改变属性值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2