前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中final关键字的作用

java中final关键字的作用

作者头像
用户7886150
修改2020-12-14 15:18:05
5580
修改2020-12-14 15:18:05
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Java中final,finally和finalize

final关键字可以用于三个地方。用于修饰类、类属性和类方法。 

     被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被覆盖(重写); 

     对于被final关键字修饰的类属性而言,子类就不能给他重新赋值了,如果重新赋值,会报错: 

下图所示,当我们直接给name赋值时,因为父类中的name属性被final修饰,所以eclipse会报错。但是这里有一个特别容易混淆的地方: 

请注意,我们在name之前加上了一个String关键字,其结果是从新发定义了一个变量,虽然变量名都是name,但是在内存中占用的区域却不同,所以不与之冲突,不会报错。 

接下来是在类方法前加上final关键字的用法。与类属性类似,父类方法如果用final关键字进行修饰,那么不能被覆盖,但要说明一点的是,不能被重写是指不能同时和和父类方法同名,同参数,换句话讲,只要子类中的方法与父类中的方法同名,同参数列表,即使返回值不同,仍然是属于重写的范畴: 

这里的子类方法报错,是因为他与父类中的print方法同名同参数,即使他们返回值不同,但仍然是属于重写的范畴。所以这里有一个小结论: 

 重写:只要子类方法与父类方法同名同参数就是重写。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档