定义测试类,在主方法中将两个子类上转型对象Array ,调用两个子类的继承方法。通过下转型对象,转换为两个子类对象,调用他们独有方法。
时间: 2023-11-29 15:04:37 浏览: 30
下面是一个示例代码,演示了如何定义测试类,并进行上转型和下转型操作:
```java
public class TestArray {
public static void main(String[] args) {
// 将两个子类对象上转型为Array对象
Array obj1 = new MyArrayList();
Array obj2 = new MyLinkedList();
// 调用两个子类的继承方法
obj1.add(1);
obj1.add(2);
obj2.add(3);
obj2.add(4);
// 将上转型后的对象下转型为子类对象,并调用独有方法
MyArrayList list = (MyArrayList) obj1;
list.print();
MyLinkedList linkList = (MyLinkedList) obj2;
linkList.reversePrint();
}
}
```
在上述代码中,我们首先定义了一个 `TestArray` 类,并在 `main` 方法中进行了测试。我们创建了两个子类对象 `MyArrayList` 和 `MyLinkedList`,并将它们上转型为 `Array` 类型的对象 `obj1` 和 `obj2`。
然后,我们使用 `obj1` 和 `obj2` 调用了它们继承自 `Array` 类的方法 `add`,添加了一些元素。
接下来,我们将 `obj1` 和 `obj2` 分别下转型为 `MyArrayList` 和 `MyLinkedList` 类型的对象 `list` 和 `linkList`。因为这两个子类都具有自己独有的方法,所以我们可以使用这些方法对它们进行操作。
最后,我们分别调用了 `list` 的 `print` 方法和 `linkList` 的 `reversePrint` 方法,展示了它们的独有功能。