请解释一下Java中的多态性,包括静态多态和动态多态。
在Java中,多态性是一种特性,它允许你使用一个父类的引用来处理子类的对象。这种行为可以使代码更加灵活和可扩展。
Java中的多态性主要分为两种形式:静态多态(继承)和动态多态(方法重写和接口)。
- 静态多态:这是通过继承实现的,父类的引用可以调用子类的方法。例如:
class Animal {
void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Dog barks");
}
}
- 动态多态:主要通过方法重写(Override)和接口(Interface)实现。例如:
class Animal {
void move() {
System.out.println("Animal moves");
}
}
class Dog extends Animal {
@Override
void move() {
System.out.println("Dog runs");
}
}
在这个例子中,无论你使用父类的Animal类型的引用调用move方法,还是直接使用子类的Dog类型的引用调用move方法,结果都会是正确的(动态多态)。
还没有评论,来说两句吧...