黑马程序员技术交流社区
标题:
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