专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java中final关键字有哪些作用

Java中final关键字有哪些作用

更新时间:2020-07-03 16:13:41 来源:动力节点 浏览1992次

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

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

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

Java中final关键字有哪些作用

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

Java中final关键字有哪些作用

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

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

Java中final关键字有哪些作用

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

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

以上就是动力节点java培训机构的小编针对“Java中final关键字有哪些作用”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>