Java接口、抽象类、实体类的区别与关系

接口:在JDK7.0之前只能有抽象方法,8.0新增了静态方法和默认方法。9.0又新增了私有方法。所以接口不能被继承只能被实现。一个类可以实现一个或多个接口,如果类实现接口(可能是多个)其中有部分抽象方法(哪怕只有1个)没有被实现,则这个类只能是抽象类,如果你希望定义一个实体类,则必须实现所有抽象方法。

抽象类:可以有抽象方法,也可以没有抽象方法。

实体类:不能有抽象方法。

抽象类和实体类可以相互继承,只不过实体类要继承抽象类就必须实现抽象类的所有抽象方法。Java只允许单继承,也就是一个类只能有一个父类。

抽象类继承实体类作用就是不用重写实体类已经定义的成员变量和相关方法,但可以新增自己的成员变量和方法(包括抽象方法),如果定义了抽象方法,标明该类定义了新的标准。

为什么要有抽象类呢? 抽象类中如果没有抽象方法是不是就没有意义?如果是,为什么没有意义呢?
答:抽象思维是我们理工人士必须要熟练掌握并应用的思维方式,抽象类是把多个类共通的部分进一步抽象出来,以抽象类的形式表明这是规范和标准,即使其没有抽象方法,依然标明这些成员是规范和标准,所以抽象类不能创建对象(即使没有抽象方法),抽象类定义的成员变量和方法标明其子类必须具有这些成员变量和该方法,那么抽象类的多个子类可以继承这些方法,也可以重写父类的方法。当然子类也可以新增成员变量和方法。所以 抽象类中如果没有抽象方法是也是有意义的
————————————————
版权声明:本文为CSDN博主「cfbs168」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cfbs168/article/details/105618056/

参考:Java接口、抽象类、实体类的区别与关系

posted @ 2022-04-12 14:53  aspirant  阅读(370)  评论(0编辑  收藏  举报