【发布时间】:2017-07-24 08:27:06
【问题描述】:
确切地说,我很好奇 Object[] 数组是否能够存储和访问其他对象的方法。这是我正在努力实现的一个小例子。
//declare an array of *different* objects
private static Object[] function = {new Object1(),
new Object2()};
//calls method(getNumber) from Object1()
function[0].getNumber();
由于我已经发现可以将相同的对象堆叠到一个数组中,我想弄清楚是否可以在不使用 ArrayList 的情况下使用不同的方法来实现。只是好奇,所以如果你认为没有办法做到这一点,请告诉我,谢谢:)
【问题讨论】:
-
在单独声明它们的同时直接从对象中调用它可能更容易,对吧?
-
你可以做到,需要演员:
(Object1)function[0].myObjectMethod(); -
为什么铸造有效?是不是因为数组本身只声明为 Object[] 类型的数组?对不起,这些 qns,我在不到半年前才开始编码:P
-
任何对象数组,比方说,MyObject[],在最基本的概念中是一个引用 MyObject 的对象列表
-
强制转换有效,因为这是在运行时完成的。不是在编译时。因此,它会将您的
Object放入您所期望的内容中。
标签: java arrays object methods