java中的多态方法是什么?
请在 Java 的上下文中解释什么是多态方法".
In the context of Java, please explain what a "polymorphic method" is.
推荐答案
多态"的意思是多种形状".在 Java 中,您可以拥有一个超类,其子类使用相同的名称来做不同的事情.传统的例子是超类 Shape,子类 Circle、Square 和 Rectangle,以及方法 area().
"Polymorphic" means "many shapes." In Java, you can have a superclass with subclasses that do different things, using the same name. The traditional example is superclass Shape, with subclasses Circle, Square, and Rectangle, and method area().
所以,例如
// note code is abbreviated, this is just for explanation
class Shape {
public int area(); // no implementation, this is abstract
}
class Circle {
private int radius;
public Circle(int r){ radius = r ; }
public int area(){ return Math.PI*radius*radius ; }
}
class Square {
private int wid;
Public Square(int w){ wid=w; }
public int area() { return wid*wid; }
}
现在考虑一个例子
Shape s[] = new Shape[2];
s[0] = new Circle(10);
s[1] = new Square(10);
System.out.println("Area of s[0] "+s[0].area());
System.out.println("Area of s[1] "+s[1].area());
s[0].area()调用Circle.area(),s[1].area()调用Square.area() -- 因此我们说 Shape 及其子类利用对方法区域的多态调用.
s[0].area() calls Circle.area(), s[1].area() calls Square.area() -- and thus we say that Shape and its subclasses exploit polymorphic calls to the method area.
相关文章