你能设置一个多对象数组并从中调用一个方法吗?

时间:2017-07-24 08:27:07

标签: java arrays object methods

确切地说,我很好奇Object []数组是否能够存储和访问其他对象'方法。这是我想要实现的一个小例子。

//declare an array of *different* objects
private static Object[] function = {new Object1(),
                                    new Object2()}; 
//calls method(getNumber) from Object1()
function[0].getNumber();

由于我已经发现你可以将相同的对象堆叠到一个数组中,我想知道是否可以使用不同的方法来实现,而不使用ArrayList。只是好奇,所以如果你认为没有办法做到这一点,请告诉我,谢谢:))

2 个答案:

答案 0 :(得分:1)

我不确定你在问什么,但你应该在调用普通对象上的方法之前进行转换。 而不是:

function[0].getNumber();

你应该这样做:

((MyType) function[0]).getNumber();

答案 1 :(得分:0)

如果要调用的方法对于所有对象都是相同的并且您控制它们的类,则应该将方法提取到接口,并让类实现它。

这样你就可以拥有CommonInterface[]数组......

public CommonInterface { Number getNumber(); }

CommonInterface[] function = { new Object1(), new Object2() };
function[1].getNumber()