1. 继承:存在继承关系,子类继承父类。
2. 重写:子类重写父类的方法。
3. 向上转型:父类引用指向子类对象。
1. 重载:同一个类中,方法名称相同,但参数列表不同。
2. 重写:子类重写父类的方法,方法名称、参数列表、返回值类型均相同。
3. 接口实现:类实现接口,实现接口中的方法。
1. 提高了代码的复用性和可扩展性。
2. 提高了程序的拓展性和维护性。
3. 提高了程序的灵活性和可读性。
java
public class Animal{
public void move(){
System.out.println("Animal is moving");
}
}
public class Dog extends Animal{
@Override
public void move(){
System.out.println("Dog is running");
}
}
public class Cat extends Animal{
@Override
public void move(){
System.out.println("Cat is climbing");
}
}
public class Test{
public static void main(String[] args){
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.move(); // 输出 Dog is running
animal2.move(); // 输出 Cat is climbing
}
}
在上述代码中,Animal是父类,Dog和Cat是子类。animal1和animal2都是Animal类型的引用,但是它们分别指向了Dog和Cat类型的对象。调用animal1和animal2的move()方法时,会根据对象的实际类型来选择具体的方法,即实现了多态性。