Java 通用图像加载器中多重继承的一个不确定性

Java 通用图像加载器中多重继承的一个不确定性,java,interface,multiple-inheritance,universal-image-loader,Java,Interface,Multiple Inheritance,Universal Image Loader,最近,我正在阅读Universal Image Loader的源代码,发现了一个关于Java继承的有趣问题。我们知道Java中不允许多重继承。Java设计者用接口的概念取代了多重继承的概念。 在Universal Image Loader的1.9.1版中,com.nostra13.universalimageloader.core.assist.deque包中名为BlockingDeque的接口扩展了两个父类BlockingQueue和deque,但Eclipse没有显示任何关于它的错误信息。所

最近,我正在阅读Universal Image Loader的源代码,发现了一个关于Java继承的有趣问题。我们知道Java中不允许多重继承。Java设计者用接口的概念取代了多重继承的概念。 在Universal Image Loader的1.9.1版中,com.nostra13.universalimageloader.core.assist.deque包中名为BlockingDeque的接口扩展了两个父类BlockingQueue和deque,但Eclipse没有显示任何关于它的错误信息。所以我对此感到困惑。 其他人有没有注意到这一点?? 显示此问题的图片如下:
此代码没有问题。。。 接口可以扩展多个接口

public interface My extends My1,My2{

}
interface My1{
int i=10;
}
interface My2{
int met(int a);
}
您应该知道的一些要点

1)默认情况下,界面中声明的所有变量都是公共的
静态的

2)如果我想使用像方法或变量这样的成员,我只需要在上述情况下实现我的接口,通过这样做,我还可以访问
My1
My2

My ob=new ClassImplementedMy();
ob.i;
3)此外,如果我已经实现了My,并且它扩展了My1和My2,那么我需要实现My1和My2中没有的所有方法

在上面的例子中,我必须说明当我实现了我的only时,My2中的方法

有关详细信息,请阅读此页面信息。。。
此代码没有问题。。。 接口可以扩展多个接口

public interface My extends My1,My2{

}
interface My1{
int i=10;
}
interface My2{
int met(int a);
}
您应该知道的一些要点

1)默认情况下,界面中声明的所有变量都是公共的
静态的

2)如果我想使用像方法或变量这样的成员,我只需要在上述情况下实现我的接口,通过这样做,我还可以访问
My1
My2

My ob=new ClassImplementedMy();
ob.i;
3)此外,如果我已经实现了My,并且它扩展了My1和My2,那么我需要实现My1和My2中没有的所有方法

在上面的例子中,我必须说明当我实现了我的only时,My2中的方法

有关详细信息,请阅读此页面信息。。。

就像上面提供的答案一样,一个类只扩展一个父类,但实现多个接口,同时,一个接口扩展多个接口,但不实现任何接口。 此外,接口的成员变量的默认访问修饰符为“公共静态最终”,而成员函数的默认访问修饰符为“公共摘要”。类必须实现由类实现的接口定义的函数,但类不必实现由类扩展的父类定义的抽象函数。我们可以通过声明类“abstract”来完成编译器的检查


这个问题解决了。链接在这里:

就像上面提供的答案一样,一个类只扩展一个父类,但实现多个接口,同时,一个接口扩展多个接口,但不实现任何接口。 此外,接口的成员变量的默认访问修饰符为“公共静态最终”,而成员函数的默认访问修饰符为“公共摘要”。类必须实现由类实现的接口定义的函数,但类不必实现由类扩展的父类定义的抽象函数。我们可以通过声明类“abstract”来完成编译器的检查


这个问题解决了。链接在这里:

是的,就像我脑海中的一个问题:Java不支持多重继承吗?
事实是肯定的Java拒绝类的多重继承,但它支持接口的多重继承。更确切地说,类和接口都是对象。“一切都是一个对象

是的,就像我脑海中的一个问题:Java不支持多重继承吗?
事实是肯定的Java拒绝类的多重继承,但它支持接口的多重继承。更确切地说,类和接口都是对象。“一切都是对象”

接口允许多重继承-就像一个类可以实现多个接口一样,一个接口也可以“实现”多个接口。一个接口可以实现另一个接口吗?为什么?@immibisInterfaces扩展接口类似于实现接口的类,只是单词不同。接口允许多重继承-就像一个类可以实现多个接口一样,一个接口也可以“实现”多个接口。一个接口可以实现另一个接口吗?为什么?@immibisInterfaces扩展接口类似于实现接口的类,只是单词不同。那么接口的确切作用是什么呢?其成员的默认访问修饰符是什么,包括变量和函数,如private、static和final?我能换一下吗??怎么做@问ThakareIf如果有一个方法get()同时在My1和My2中声明,那么一个类实现My,get()会相互冲突吗?即使你在My中声明相同的方法,My1和My2在这里方法也没有实现,所以一点都不重要。当实现发生时,它会在hierarch中检查方法Yeah,我测试过了。当My1和My2都有一个名为get()的方法声明,My对它们进行了两次扩展时,实现My的类只能实现一个get();然后在My中再次添加相同的声明get(),实现My的类仍然只需实现一个get()。然后就开始了