所谓多态,是指不同类对象对同一消息作出的响应不同。
多态实现的三个条件:
1、要有继承
2、要有重写
3、父类引用指向子类对象
多态实现的方式:
(1)接口实现:
(2)继承父类进行方法重写:
class Father{
public void Say(){
System.out.println("我是父类");
}
}
////////////////////////////////////////////////////////////////////////////////
class Son1 extends Father{
@Override
public void Say(){
System.out.println("我是son");
}
}
////////////////////////////////////////////////////////////////////////////////
class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Father f1=new Son();
f1.Say();
}
}
结果显示:我是son。
由此我们可以看出,子类中重写了父类的方法之后,父类引用指向子类对象,调用的方法是子类的方法。
当多个子类继承Father类时,对象调用同一个方法,结果不同,产生多态;
(3)同一个类中进行方法重载:
在同一个类中进行方法重载,类的实例对象调用同名方法时,根据重载条件的不同,产生不同的结果。