当先锋百科网

首页 1 2 3 4 5 6 7

Java是一门面向对象的编程语言,它的核心思想是封装、继承和多态。这里介绍两个实现多态的重要概念:接口和重写。

接口是一种抽象类型,它定义了一些方法的签名,但没有具体的实现。接口可以被类实现,实现接口的类需要实现接口中定义的所有方法。一个类可以实现多个接口,这就为实现多态提供了便利。

public interface Flyable {
void fly();
}
public class Bird implements Flyable {
public void fly() {
System.out.println("Bird is flying.");
}
}
public class Airplane implements Flyable {
public void fly() {
System.out.println("Airplane is flying.");
}
}

在上面的代码中,Flyable是一个接口,定义了一个fly()方法。Bird和Airplane类都实现了Flyable接口,并都重写了接口中的fly()方法。这样,在调用fly()方法时,可以通过Flyable类型来实现多态,即让程序在运行时根据对象的实际类型来确定调用哪个类的fly()方法。

重写是指子类实现了和父类相同的方法,并且在子类中重新定义了方法的实现。重写的方法必须和父类方法的签名完全相同,返回值、参数类型和个数都不能改变。

public class Vehicle {
public void start() {
System.out.println("Vehicle is starting.");
}
}
public class Car extends Vehicle {
public void start() {
System.out.println("Car is starting.");
}
}

在上面的代码中,Car类继承了Vehicle类,并重写了它的start()方法。如果创建一个Car对象,并调用start()方法,程序会优先调用Car中的start()方法,输出"Car is starting."。如果强制将Car对象转换为Vehicle类型,再调用start()方法,程序则会调用父类Vehicle中的start()方法,输出"Vehicle is starting."。