目录
1.多态的概念和意义
多态是面向对象三大特性(封装,继承,多态)之一,多态的定义是指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。个人理解,假设类B,C都继承了A,A中有一个fun()方法,B,C类必须重写fun()f方法,当B,C都定义了对象后,可以动态的根据不同的对象对A的fun()方法有不同的表现。
多态的好处:提高了代码的维护性(继承保证),提高了代码的扩展性(由多态保证)。
2.多态的必要条件及使用格式
多态的必要条件:
- 必须存在继承关系;
- 子类必须要重写;
- 父类引用指向子类对象。
多态的定义格式:(存在三种情况的多态:普通类的多态,抽象类的多态,接口的多态)
/*多态的基本定义格式:
* 父类类型 变量名 = new 子类类型();
* 变量名.方法名();
*/
// 情况一:普通类多态定义的格式
// 父类 变量名 = new 子类();
public class Fu { public void fun(){...}}
public class Zi extends Fu { public void fun(){ xxx } } // 子类重写父类方法
Fu f = new Zi(); //类的多态使用
// 情况二:抽象类多态定义的格式
// 抽象类 变量名 = new 抽象类子类();
public class abstract class Fu {
public abstract void method();
}
public class Zi extends Fu {
public void method(){
System.out.println(“重写父类抽象方法”);
}
}
Fu fu= new Zi(); //类的多态使用
// 情况三:接口多态定义的格式
// 接口 变量名 = new 接口实现类();
public class interface Fu {
public abstract void method();
}
public class Zi implements Fu {
public void method(){
System.out.println(“重写接口抽象方法”);
}
}
Fu fu