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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小聪 中级黑马   /  2012-12-20 16:35  /  2187 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final类final方法的作用?在什么情况下使用最好?

评分

参与人数 1黑马币 +15 收起 理由
奋斗的青春 + 15 神马都是浮云

查看全部评分

5 个回复

倒序浏览
      final是Java关键字 final所标记的成分具有终态的特征,表示最终的意思,Java中final修饰符既可以修饰类、方法,也可以修饰变量。用final修饰的类不能被继承。用final修饰的方法不可重写。用final修饰的变量最多只能赋值一次。 值不可变,当你所希望的类不被继承或者你所写的方法不希望被覆写或者方法里的参数不希望被重新赋值, 那么就请用final修饰符

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 高新杰 于 2012-12-20 16:59 编辑

     final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
      当希望定义的类不被继承,方法不希望被覆盖,参数不能被重新赋值, 那么就使用final修饰符
     内部类要访问局部变量,局部变量必须定义成final类型,

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
(1).被final修饰的类不能被继承。
(2).被final修饰的方法不能被重写,可以重载。
(3).被final修饰的变量是一个常量并且只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
final方法:final修饰方法不可被重写,如果出于某些原因,不希望子类重写父类的某个方法,则可以使用final修饰该方法。
final类:final修饰的类不能有子类,当子类继承父类将可以访问到父类内部数据,并可以通过重写父类方法来改变父类方法的实现细节,这可能导致一些不安全因素,为了保证某个类不可以被继承,则可以使用final修饰这个类。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马