一、多态
多态的概念
- 多态是同一个行为具有多个不同表现形式的能力
- 多态就是同一个接口,使用不同的实例而执行不同的操作
- 多态是对象多种表现形式的体现:同一时间发生在不同对象上会产生不同的结果。
多态的优点
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
多态存在的三个必要条件
- 继承
- 重写
- 父类引用指向子类对象:Parent p = new Child();
(Java不支持多继承)
实现多态的两种方式
- 重载
- 重写
二、接口实现多态
例1:接口实现多态
第一个接口是Dog
public interface Dog {
public abstract void eat();//public abstract可以省略不写
}
第二个接口是Person
public interface Person {
public abstract void eat();
}
实现类:进行方法重写
public class DogPerson implements Dog{
//继承
@Override//重写
public void eat() {
System.out.println("喜欢吃碗边饭");
}
}
测试:(测试接口)
@Test
public void test01(){
Dog dog = new DogPerson();//父类的引用指向子类对象:Parent p = new Child();
dog.eat();
}
输出结果:喜欢吃碗边饭
例2:一个实现类可以实现多个接口
接口的实现类必须实现(重写)接口中所有方法;
第一个接口Dog
public interface Dog {
void eat();
void bark();
}
第二个接口是Person
public interface Person {
void eat();
void war();
}
实现类:
public class DogPerson implements Dog