问题描述
- Java中接口多继承的意义
-
初学Java,很多人都说Java中没有多继承,但是有多实现,我也明白其中的意思,
但是学习过程中发现Java中其实存在多继承的,它存在于接口与接口之间,不知道这种多继承的存在意义是什么?import static java.lang.System.*; public class ExtendsTest implements A { public static void main(String[] args) { ExtendsTest et = new ExtendsTest(); et.a(); et.b(); et.c(); } } interface A extends B, C { default void a() { out.println("------A------"); } } interface B { default void b() { out.println("------B------"); } } interface C { default void c() { out.println("------C------"); } }
解决方案
意义在于编写更容易理解的程序。
任何编程语言都有冗余的语法,也就是说,包含大量并非必要的语法,语言包含这样的语法越多,它就越好用。
好比为什么类型可以嵌套?
class Face
{
public Eye eye;
}
class Eye
{
public Color color;
public Location location;
}
class Location
{
public int x;
public int y;
}
而不是
class Face
{
public Color eyecolor;
public int eyelocationx;
public int eyelocationy;
}
因为分类让代码逻辑上更直观。
解决方案二:
使用接口的核心原因是,为了能够向上转型为多个基类型。即利用接口的多实现,可向上转型为多个接口基类型。
使用多继承,代码可复用,各层之间可以通过接口来通信而不用管实现,每次修改只要改实现就可以了。而接口不会改变
解决方案三:
在逻辑上让接口的关系更清晰。
好像拼插积木,单块可以拿去用在别的地方,组合起来拥有一个更的的逻辑抽象。
这是从设计的角度来说的。
解决方案四:
JAVA关于接口,接口的意义在于顶替多重继承?
澄清Java(一)----接口与继承
java继承和接口的区别
时间: 2024-09-20 23:29:20