【发布时间】:2014-08-09 12:49:08
【问题描述】:
问题在于我的第二个开关案例 1:我将放置“arrayEmployees[0]”。但它在超类 PersonData 或子类 personLocation 中看不到我的方法。我对多态性以及内部“对象”可能性的理解有点阴暗,因为我刚刚开始了解这些,所以也许我引用它们是错误的。
我得到了这些指示:
设计一个名为 PersonTest 的新类,它的 main 方法定义了一个 PersonData 对象和一个 PersonLocation 对象(都没有参数)以及另外两个带参数的对象,并将所有对象存储在一个数组中,以便检索和修改实例化对象(即对象数组)。
我的实际代码
package lab5;
import java.util.InputMismatchException;
import java.util.Scanner;
public class PersonTest
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
PersonLocation personLocation = new PersonLocation();
PersonData personData = new PersonData();
PersonLocation personLocationOverLoaded = new PersonLocation("Hamilton");
PersonData personDataOverloaded = new PersonData("Stirling", "905-567-7656");
Object[] arrayEmployees = new Object[4];
arrayEmployees[0] = personLocation;
arrayEmployees[1] = personLocationOverLoaded;
arrayEmployees[2] = personData;
arrayEmployees[3] = personDataOverloaded;
int user = 0;
int menu = 0;
// Get input here, put into variable "user"
switch(user)
{
case 1:
System.out.print("Printing Object Information With Given Values\n\n\t");
arrayEmployees[0]. //Issue
}
}//End Main Method
}//End Class PersonTest
假设会发生什么:我假设能够从我的数组中引用,如上所示 (arrayEmployees[0].),并让我的方法出现在那个特定的类中。
【问题讨论】:
-
您对previous question 的回答有什么问题?它没有解释什么吗?如果您尝试了某事但没有成功,请详细说明您尝试了什么以及出了什么问题。
-
我之前的问题生成了数组,但它不适用于超类和子类,因为这两个类都有默认构造函数和重载构造函数。所以我相信我必须制作如上所示的对象。
-
你能扩展“没有与超类和子类一起工作”吗? 确切地显示您尝试了什么,并具体描述出了什么问题。从我可以阅读的内容来看,上一个答案应该有效。
-
我添加了我创建的类,问题出在我的第二个开关案例 1:我将放置“arrayEmployees[0]”。但它没有在超类 PersonData 或子类 personLocation 中看到我的方法
-
究竟是什么问题?你提供的细节越多,你就越有可能得到读者的好评。你快到了。
标签: java arrays object inheritance polymorphism