相关疑难解决方法(0)

测试对象是否实现接口

之前可能已经提出过这个问题,但快速搜索只会提出与C#相同的问题.看这里.

我基本上想要做的是检查给定对象是否实现了给定的接口.

我有点想出了一个解决方案,但是在if或case语句中经常使用它并不够舒服,我想知道Java没有内置的解决方案.

public static Boolean implementsInterface(Object object, Class interf){
    for (Class c : object.getClass().getInterfaces()) {
        if (c.equals(interf)) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)


编辑:好的,谢谢你的回答.特别是Damien Pollet和Noldorin,你让我重新考虑我的设计,所以我不再测试接口了.

java

140
推荐指数
4
解决办法
13万
查看次数

实现相同接口的类之间的关系

我几乎是java初学者,我来问stackoverflow论坛一个简单的问题.我已经在SO上检查了类似的问题,但是我没有找到想要的答案,LINK:实现接口的类和那个接口之间有什么关系吗?

我们知道Cat是否扩展了Animal,这里有一种关系.所以猫是动物(但不一定是动物.动物也是狗......).我们知道这种关系是"是 - " - 继承.

如果我们还有另外两个班级:GirlCandy,如果班级Girl持有Candy的实例,那么我们将这种关系命名为"has-a" - 组合,因为我们可以说Girls有一个糖果.

如果我上面的例子弄错了,请纠正我.

无论如何,我的问题是它是否在实现相同接口的类的对象之间存在某种关系?让我们说:

public class A implements InterfaceA {}

public class B implements InterfaceA {}
Run Code Online (Sandbox Code Playgroud)

如果有某种关系,我们如何利用这种关系?感谢您提前的答案..

编辑:对于那些认为没有关系的人,我有一本书"java如何编程第九版",并且有一个UML图表显示在"关系"中实现相同界面的类?

图片:

在此输入图像描述

java relationship

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

relationship ×1