Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中无继承动态调用多个类的方法_Java - Fatal编程技术网

Java中无继承动态调用多个类的方法

Java中无继承动态调用多个类的方法,java,Java,请看附件中的图片。还有其他数量的独立类没有任何关系,所以没有意义进行继承,我也不想使用。反思对我也没有帮助 假设我有20个类,那么我必须创建20个对象。如果使用一个,那么19个是无用的 所以我的问题是,有没有任何方法可以通过使用可以投射到其他对象的单个对象来实现这一点。使用接口,例如: public interface IHello { public void sayHello(); } 实现接口: public class Boy implements IHello {

请看附件中的图片。还有其他数量的独立类没有任何关系,所以没有意义进行继承,我也不想使用。反思对我也没有帮助

假设我有20个类,那么我必须创建20个对象。如果使用一个,那么19个是无用的


所以我的问题是,有没有任何方法可以通过使用可以投射到其他对象的单个对象来实现这一点。

使用接口,例如:

public interface IHello {

    public void sayHello();
}
实现接口:

public class Boy implements IHello {

    public void sayHello() {
        System.out.println("Hi from a boy");
    }
}

public class Girl implements IHello {

    public void sayHello() {
        System.out.println("Hi from a girl");
    }
}
多态性:

IHello boy = new Boy();
IHello girl = new Girl();

boy.sayHello();
girl.sayHello();

请在投票否决之前添加评论。我不明白为什么拥有20个类会迫使你创建20个对象。在任何情况下,如果它们有类似的方法将在同一个地方使用,那么实现包含它们的接口就是显而易见的解决方案。这正是继承的目的,无论是类继承还是接口继承。你说你“不想使用继承”,这是在毫无必要地扔掉你最棒的工具来解决这个问题。好吧..好吧..我怎么能忘记接口!!!!也许你是第一个回答我问题的人。太好了。。