Java实例讲解多态数组的使用
什么是多态数组
在Java中,多态数组是指一个数组中可以存储不同类型的对象。这是Java中面向对象编程中非常重要的一个特性。
如何声明多态数组
声明一个多态数组的语法格式为:
Type[] array = new Type[N];
其中,Type是多态数组可以存储的所有类型的父类,N是数组的长度。
同一个多态数组中可以存储多个子类的对象,只要这些子类是Type的子类。
什么情况下需要使用多态数组
在实际开发中,当我们需要处理一组不同类型的对象时,就可以使用多态数组。
例如,在一个图书馆管理系统中,需要存储不同类型的书籍,如小说、诗集、散文,这些书籍的类型是不同的,但是它们都是Book(父类)的子类,所以这种情况就可以使用多态数组来存储这些不同类型的书籍对象。
示例一
下面是一个使用多态数组的示例代码,它定义了一个Fruit(水果)类,这个类有两个子类:Apple(苹果)和Orange(橙子)。
class Fruit {
public void eat() {
System.out.println("Eat fruit.");
}
}
class Apple extends Fruit {
public void eat() {
System.out.println("Eat apple.");
}
}
class Orange extends Fruit {
public void eat() {
System.out.println("Eat orange.");
}
}
public class Test {
public static void main(String[] args) {
Fruit[] fruits = new Fruit[2];
fruits[0] = new Apple();
fruits[1] = new Orange();
for (int i = 0; i < fruits.length; i++) {
fruits[i].eat();
}
}
}
运行结果为:
Eat apple.
Eat orange.
示例二
下面是另一个使用多态数组的示例代码,它定义了一个Shape(形状)类,这个类有两个子类:Rectangle(矩形)和Circle(圆形)。
class Shape {
public void draw() {
System.out.println("Draw shape.");
}
}
class Rectangle extends Shape {
public void draw() {
System.out.println("Draw rectangle.");
}
}
class Circle extends Shape {
public void draw() {
System.out.println("Draw circle.");
}
}
public class Test {
public static void main(String[] args) {
Shape[] shapes = new Shape[2];
shapes[0] = new Rectangle();
shapes[1] = new Circle();
for (int i = 0; i < shapes.length; i++) {
shapes[i].draw();
}
}
}
运行结果为:
Draw rectangle.
Draw circle.
总结
本文详细讲解了Java中多态数组的使用,从什么是多态数组、如何声明多态数组、什么情况下需要使用多态数组等方面进行了讲解,并且给出了两个示例代码作为说明。多态数组是Java中非常重要的一个特性,开发者需要熟练掌握。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实例讲解多态数组的使用 - Python技术站