浅谈Java之终止继承:Final类和Fianl方法
作者:baby的我 时间:2023-02-14 00:07:08
前言
关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能。
Final类
当关键字final用来修饰类时,其含义是该类不能再派生子类,换句话说,任何其他类都不能继承用final修饰的类,即使该类的访问权限为pubilc类型,也不能被继承;否则,将编译报错。
只有当需要确保类中的方法都不被重写时才应该建立最终(final)类,final关键字将会为这些方法提供安全,没有任何人能够重写final类中的方法,因为不能继承。
例:
package chapeter04;
final class Father { }
public class Sample3_13 extends Father
{
public static void main(String[] args)
{
}
}
报错:
可以看出,编译找不到Father类。
Final方法
当关键字final修饰方法后,该方法在子类中将无法重写,只能继承,例:
package chapeter04;
class Father
{
public final void show()
{
System.out.println("我是final方法,可以被继承,但是不能被重写");
}
}
class Son extends Father { }
public class Sample4_15
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Son s= new Son();
s.show();
}
}
运行结果:
可以看出,代码正常编译运行,final的方法show被成功继承。但是若图将final的方法在子类中重写,将会编译报错:
class Son extends Father
{
public void show()
{
System.out.println("重写Final方法");
}
}
可以看出final的方法不能被继承。
要恰当使用final方法,只有在子类覆盖某个方法会带来问题时,再将此方法设置为final方法,一般情况下不必使用。因为防止子类覆盖会丢失一些面向对象的优点,包括通过覆盖实现的可扩展性。
以上所述是小编给大家介绍的Java之终止继承:Final类和Fianl方法详解整合网站的支持!
来源:https://blog.csdn.net/qq_41431457/article/details/85926573
标签:Java,Final,终止继承
0
投稿
猜你喜欢
对spring task和线程池的深入研究
2022-08-08 10:32:38
Idea springboot如何实现批量启动微服务
2022-09-08 09:04:07
SpringBoot项目中如何访问HTML页面
2021-08-09 11:19:07
解析rainbond以应用为中心的架构设计原理
2023-02-05 14:19:50
C#中事件处理的个人体会
2023-06-22 16:50:55
idea插件之mybatis log plugin控制台sql的问题
2023-05-14 06:45:32
Idea jdk版本问题解决方案
2022-04-14 11:57:41
Jenkins+Maven+SVN自动化部署java项目
2021-06-01 11:28:27
Android Dialog对话框实例代码讲解
2021-12-18 06:34:50
Eclipse设置断点调试的方法
2022-11-05 07:45:56
android 开发教程之日历项目实践(二)
2022-05-05 22:22:13
Mybatis工具类JdbcTypeInterceptor运行时自动添加jdbcType属性
2023-08-24 03:49:59
springboot如何通过URL方式访问外部资源
2022-02-07 01:10:15
Android 自定义dialog的实现代码
2023-12-05 08:17:29
C语言关于时间复杂度详解
2022-08-14 02:33:04
Android超实用的Toast提示框优化分享
2022-12-20 08:36:32
Java实现手写线程池实例并测试详解
2022-03-04 11:23:27
C#中通过反射将枚举元素加载到ComboBo的实现方法
2022-05-26 09:28:10
Android AOP注解Annotation详解(一)
2022-05-20 11:31:18
Kotlin封装RecyclerView Adapter实例教程
2023-11-06 01:54:23