Java接口、抽象类、实体类的区别与关系
接口:在JDK7.0之前只能有抽象方法,8.0新增了静态方法和默认方法。9.0又新增了私有方法。所以接口不能被继承只能被实现。一个类可以实现一个或多个接口,如果类实现接口(可能是多个)其中有部分抽象方法(哪怕只有1个)没有被实现,则这个类只能是抽象类,如果你希望定义一个实体类,则必须实现所有抽象方法。
抽象类:可以有抽象方法,也可以没有抽象方法。
实体类:不能有抽象方法。
抽象类和实体类可以相互继承,只不过实体类要继承抽象类就必须实现抽象类的所有抽象方法。Java只允许单继承,也就是一个类只能有一个父类。
抽象类继承实体类作用就是不用重写实体类已经定义的成员变量和相关方法,但可以新增自己的成员变量和方法(包括抽象方法),如果定义了抽象方法,标明该类定义了新的标准。
为什么要有抽象类呢? 抽象类中如果没有抽象方法是不是就没有意义?如果是,为什么没有意义呢?
答:抽象思维是我们理工人士必须要熟练掌握并应用的思维方式,抽象类是把多个类共通的部分进一步抽象出来,以抽象类的形式表明这是规范和标准,即使其没有抽象方法,依然标明这些成员是规范和标准,所以抽象类不能创建对象(即使没有抽象方法),抽象类定义的成员变量和方法标明其子类必须具有这些成员变量和该方法,那么抽象类的多个子类可以继承这些方法,也可以重写父类的方法。当然子类也可以新增成员变量和方法。所以 抽象类中如果没有抽象方法是也是有意义的
————————————————
版权声明:本文为CSDN博主「cfbs168」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cfbs168/article/details/105618056/
本文来自博客园,作者:aspirant,转载请注明原文链接:https://www.cnblogs.com/aspirant/p/16135167.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2019-04-12 VPN问题处理
2017-04-12 Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程