java - 需要使用另一个子类的对象调用接口(interface)的一个子类

标签 java class interface

我有一个接口(interface)

public interface I
{
    // an abstract method m1();
}

我有 class Aclass B

class A implements I
{
    public void m1()
    {
         System.out.println("m1 Method From A");
    }
}

class B implements I
{
    public void m1()
    {
        System.out.println("m1 Method From B");
    }
}

我可以使用创建到 class Aobject 调用 class Bm1 方法吗?

例如,我创建了 Aobject,例如 I i = new A();

如果我写成 i.m1() m1 应该调用 class B 的方法

注意:class Aclass B 之间没有super class or sub class 关系

只是怀疑能不能打电话

谢谢...

最佳答案

您需要将类型B 的依赖/关联添加到A。这可以通过在 A

中引入 B 类型的类成员来轻松完成

像这样:

class A implements I
{
    private B b = new B();

    public void m1()
    {
         System.out.println("m1 Method From A");
         b.m2();
    }
}

关于java - 需要使用另一个子类的对象调用接口(interface)的一个子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28988797/

相关文章:

java - android java opencv 2.4 convexhull 凸缺陷

c++ - 如何使类在 vector 内可排序?

java - 具有引用和原始类型的 isAssignableFrom

c++ - 类的常量成员变量可以在方法而不是构造函数中初始化吗?

class - 如何将类之间的依赖关系管理到 coffeescript 项目中

java - 了解 DAO 模式和接口(interface)

java - 如何使超接口(interface)方法失效

Java 以较弱的访问权限实现接口(interface)方法时出错

java - 为什么我的日期不能正确添加天数?

java - Jenkins - 将 JDK 11 添加到 JDK 列表