多态(简述什么是多态)
一、简述什么是多态
多态指为不同数据类型的实体提供统一的接口。多态类型可以将自身所支持的操作套用到其它类型的值上。
计算机程序运行时,相同的消息可能会送给多个不同的类别之对象,而系统可依据对象所属类别,引发对应类别的方法,而有不同的行为。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。
二、什么是多态
俩个子类调用父类中同一个方法,效果不同,java中多态大多数情况因继承而产生,子类继承父类方法,然后拥有了自己的方法执行方式,覆盖了父类中的方法。重载也是多态,不过是在同一个类中。
classa{
publicvoiddosome(){
system.out.println("父类");
}
}
classbextendsa{
publicvoiddosome(){
system.out.println("子类b");
}
classcextendsa{
publicvoiddosome(){
system.out.println("子类c");
}
classmain{
mian(){//main方法省了
ab=newb();
ac=newc();
b.dosome();
c.dosome();
}
}
}
}
三、多态的三种表现形式
1、方法的重载:通常是指在同一个类中,相同的方法名对应着不同的方法实现,这些方法名相同的方法其区别在于他们的参数不同;
2、方法的重写:方法的重写主要用于父类和子类之间,子类重写父类的方法,只是对应的方法实现不同,方法名和方法参数都相同;
3、抽象类:在面向对象语言中,一个类中的方法只给出了标准,而没有给出具体的方法实现,这样的类就是抽象类。例如父类就可以是抽象类,抽象类是不能被实例化的类;
4、接口:在多态机制中,接口比抽象类使用起来更加方便。而抽象类组成的集合就是接口。