java - 在 Java 中的 ArrayList 中存储两种类型的对象

标签 java eclipse class arraylist abstract

我正在做一个学校项目,我需要创建一个包含两种类型对象的 ArrayList,“经理”和“售票员”,因为我创建了一个抽象类“用户”并且这两种类型扩展了它,我已经创建了一个 ArrayList 类型“user”并在其中存储了“managers”和“ticket salesmen”,但是如何访问这两个类型?我只能作为“用户”访问列表的每个元素,并获取抽象类具有的属性,而不是作为“经理”或“售票员”。如何获取这两个对象的属性以及我能否识别对象类型,它是哪个类的一个实例?

最佳答案

你可以使用instanceof运营商识别用户的实际类型

User obj = new Manager();
User obj2 = new SalesMan();
System.out.println(obj instanceof Manager); // true
System.out.println(obj instanceof SalesMan);// false

System.out.println(obj2 instanceof Manager); // false
System.out.println(obj2 instanceof SalesMan);// true

关于java - 在 Java 中的 ArrayList 中存储两种类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44484405/

相关文章:

java - 使用 EventScheduler 不会触发 Aggregate 中的事件处理程序

java - 如何从 64 位 Eclipse 构建 32 位 Eclipse 插件应用程序

java - Android:无法将图像粘贴到 eclipse 中的drawable-hdpi 文件夹

Python 类 : Inheritance vs Instantiation

jquery 类选择器 div 的输入

java - 仅删除第一个联系人

java - Travis 每次提交都会构建两次(每次构建两个任务)

Java 时间对象

java - : "Launching <My_APP>". ATTR_EXCLUDE_TEST_CODE 期间发生内部错误

php - 访问子类中的私有(private)变量