更新时间:2020-07-03 16:13:41 来源:极悦 浏览2205次
final关键字可以用于三个地方。用于修饰类、类属性和类方法。
被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被覆盖(重写);
对于被final关键字修饰的类属性而言,子类就不能给他重新赋值了,如果重新赋值,会报错:
下图所示,当我们直接给name赋值时,因为父类中的name属性被final修饰,所以eclipse会报错。但是这里有一个特别容易混淆的地方:
请注意,我们在name之前加上了一个String关键字,其结果是从新发定义了一个变量,虽然变量名都是name,但是在内存中占用的区域却不同,所以不与之冲突,不会报错。
接下来是在类方法前加上final关键字的用法。与类属性类似,父类方法如果用final关键字进行修饰,那么不能被覆盖,但要说明一点的是,不能被重写是指不能同时和和父类方法同名,同参数,换句话讲,只要子类中的方法与父类中的方法同名,同参数列表,即使返回值不同,仍然是属于重写的范畴
这里的子类方法报错,是因为他与父类中的print方法同名同参数,即使他们返回值不同,但仍然是属于重写的范畴。所以这里有一个小结论:
重写:只要子类方法与父类方法同名同参数就是重写。
以上就是极悦java培训机构的小编针对“Java中final关键字有哪些作用”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习