2014-12-19 47 views
-3

所以我正在制作一个Java程序,从JSON读入一堆信息。到最后,我将拥有80多种方法。我想知道如何去做一个可以调用所有80多种方法的类,而不必将所有方法放在一个地方。对我来说理想的解决方案将是正确的方法来扩展多个类

public class Item extends ItemStats, ItemPrice, ItemEffects, ItemImage, ItemTree { 
... 
} 

我知道这是不可能的,所以我想知道正确的方式去解决这个问题?

+0

你不扩展类能够调用类对象的方法。你给他们打电话。 – bmargulies 2014-12-19 01:17:30

回答

6

看来你可能真的想用组合物代替。

public class Item { 
    private ItemStats stats; 
    private ItemPrice price; 
    // etc.. 

    public ItemStats getStats() { return stats; } 
    // etc.. 
} 
1

Java不支持多重继承。您可以制作所有这些接口,将它们全部用抽象类来实现,然后再扩展它们。

interface IItem implements ItemStats, ItemPrice, ItemEffects, 
    ItemImage, ItemTree { 
} 

abstract class Item implements IItem { 
} 
0

可以实现多个接口或做这样的事情:

public class A {} 
public class B extends A {} 
public class C extends B {} 
...