确切地说,我很好奇Object []数组是否能够存储和访问其他对象'方法。这是我想要实现的一个小例子。
//declare an array of *different* objects
private static Object[] function = {new Object1(),
new Object2()};
//calls method(getNumber) from Object1()
function[0].getNumber();
由于我已经发现你可以将相同的对象堆叠到一个数组中,我想知道是否可以使用不同的方法来实现,而不使用ArrayList。只是好奇,所以如果你认为没有办法做到这一点,请告诉我,谢谢:))
答案 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()