所以我正在制作一个Java程序,从JSON读入一堆信息。到最后,我将拥有80多种方法。我想知道如何去做一个可以调用所有80多种方法的类,而不必将所有方法放在一个地方。对我来说理想的解决方案将是正确的方法来扩展多个类
public class Item extends ItemStats, ItemPrice, ItemEffects, ItemImage, ItemTree {
...
}
我知道这是不可能的,所以我想知道正确的方式去解决这个问题?
所以我正在制作一个Java程序,从JSON读入一堆信息。到最后,我将拥有80多种方法。我想知道如何去做一个可以调用所有80多种方法的类,而不必将所有方法放在一个地方。对我来说理想的解决方案将是正确的方法来扩展多个类
public class Item extends ItemStats, ItemPrice, ItemEffects, ItemImage, ItemTree {
...
}
我知道这是不可能的,所以我想知道正确的方式去解决这个问题?
看来你可能真的想用组合物代替。
public class Item {
private ItemStats stats;
private ItemPrice price;
// etc..
public ItemStats getStats() { return stats; }
// etc..
}
Java不支持多重继承。您可以制作所有这些接口,将它们全部用抽象类来实现,然后再扩展它们。
interface IItem implements ItemStats, ItemPrice, ItemEffects,
ItemImage, ItemTree {
}
abstract class Item implements IItem {
}
可以实现多个接口或做这样的事情:
public class A {}
public class B extends A {}
public class C extends B {}
...
你不扩展类能够调用类对象的方法。你给他们打电话。 – bmargulies 2014-12-19 01:17:30