黑马程序员技术交流社区

标题: final修饰的类,方法,变量,有什么特点 [打印本页]

作者: wan1137856139    时间: 2016-5-10 08:33
标题: final修饰的类,方法,变量,有什么特点
final修饰的类,方法,变量,有什么特点
作者: yanchong    时间: 2016-5-10 09:54
final:最终的意思,可以修饰类,方法和变量。
        它修饰的类,不能被继承
        它修饰的方法,不能被重写
        它修饰的变量,不能被改变

作者: zzm0717    时间: 2016-5-12 20:42
一、Java中final修饰符既可以修饰类、方法,也可以修饰变量,基本规则如下:
1)用final修饰的类不能被扩展,也就是说不可能有子类;
2)用final修饰的方法不能被替换或隐藏:
  ①使用final修饰的实例方法在其所属类的子类中不能被替换(overridden);
  ②使用final修饰的静态方法在其所属类的子类中不能被重定义(redefined)而隐藏(hidden);
3)用final修饰的变量最多只能赋值一次,在赋值方式上不同类型的变量或稍有不同:
  ①静态变量必须明确赋值一次(不能只使用类型缺省值);作为类成员的静态变量,赋值可以在其声明
   中通过初始化表达式完成,也可以在静态初始化块中进行;作为接口成员的静态变量,赋值只能在其
   声明中通过初始化表达式完成;
  ②实例变量同样必须明确赋值一次(不能只使用类型缺省值);赋值可以在其声明中通过初始化表达式
   完成,也可以在实例初始化块或构造器中进行;
  ③方法参数变量在方法被调用时创建,同时被初始化为对应实参值,终止于方法体(body)结束,在此
   期间其值不能改变;
  ④构造器参数变量在构造器被调用(通过实例创建表达式或显示的构造器调用)时创建,同时被初始化
   为对应实参值,终止于构造器体结束,在此期间其值不能改变;
  ⑤异常处理器参数变量在有异常被try语句的catch子句捕捉到时创建,同时被初始化为实际的异常对象
   ,终止于catch语句块结束,在此期间其值不能改变;
  ⑥局部变量在其值被访问之前必须被明确赋值;
作者: 换一个昵称    时间: 2016-5-28 00:40
看到二楼的答案,我已经没有勇气再回答你的问题了
作者: 酱油    时间: 2016-5-29 12:43
换一个昵称 发表于 2016-5-28 00:40
看到二楼的答案,我已经没有勇气再回答你的问题了

没关系的。。踊跃回答,,,只要是自己的见解,,都可以哇
作者: zhangguojian    时间: 2016-5-29 15:58
final修饰的类不能被继承




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