A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shaoboguanzi 中级黑马   /  2015-2-10 21:28  /  1437 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final最终。作为一个修饰符。1,可以修饰类,变量、函数;2,final修饰的类不能被继承。3,修饰的方法不能被复写但可以被继承4,修饰变量为空时可以被赋值一次,随后变为终态final既可以修饰成员变量也可以修饰局部变量。应用一些数据是固定的,这是为了增加阅读性都给这些值起名字。

13 个回复

倒序浏览
还好  只是 能解释一下  就更好了
回复 使用道具 举报
本帖最后由 coolmiao13 于 2015-2-10 22:13 编辑

final最终。作为一个修饰符。
1,可以修饰类,变量、函数;
     解释:修饰变量,就是只可以被赋值一次。一般用在常量上
               修饰类,该类不能被继承,防止类中方法被复写,一种保护措施
               修饰函数,函数无法被复写。
2,final修饰的类不能被继承。//这个不用解释了吧
3,修饰的方法不能被复写但可以被继承//这个有问题,方法怎么被继承。。。
4,修饰变量为空时可以被赋值一次,随后变为终态final既可以修饰成员变量也可以修饰局部变量。应用一些数据是固定的,这是为了增加阅读性都给这些值起名字。
加一句,一般常量全用大写字母,多单词用下划线分开。
回复 使用道具 举报
final修饰类的时候它定义的方法都是final的,而域不是final的
回复 使用道具 举报
谢谢……总结
回复 使用道具 举报
补充一下第4点。
final修饰成员变量不给初始值的时候,可以在初始化模块(初始化代码块和构造器)中进行一次赋值。如果全程不赋值,编译会报错。
final在修饰局部变量的时候,可以先定义,使用时再进行赋值一次,全程不赋值编译不会报错,赋值后不可更改。。
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-2-11 09:30:03
7#
谢谢。。学习了。
回复 使用道具 举报
只是说的一般。。
回复 使用道具 举报
感谢楼主分享
回复 使用道具 举报
学习学习!!!!!
回复 使用道具 举报
cly成子 来自手机 中级黑马 2015-2-11 14:29:43
11#
基本上可以这么说!还可以更准确点!
回复 使用道具 举报
学习学习.....~~赞一个
回复 使用道具 举报
总结的不错~~
回复 使用道具 举报
final最终感觉像C中的const修饰,但它可以修饰变量,函数,类,经过它修饰的就会变成最终的版本不可修改,如:变量只能初始化一次;方法不能被覆盖;类不能被继承;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马