学习java之前最开始是从c入门的,然后就只有面向过程的那种思想,后来接触java,就有点蒙了的感觉,虽然处处有相同点,但是学到后来发觉思想有点跟不上,还记得曾经被继承多态困了我几个小时。也是挺怀念的。这里就举一个简单的实例来说一说多态继承。
abstract class Role { //这里的父类是一个抽象类,可以自己去查查。就不多说了。
void fight(){
}
}
class Soldier extends Role {
Soldier(){
}
void fight(){
System.out.println("战士攻击");
}
}
class Master extends Role {
Master(){
}
void fight(){
System.out.println("法师攻击");
}
}
public class Rpg {
public static void main(String[] args) {
Role a=new Soldier();//多态的必要条件 : 1.要用继承;2.要有重写;3.父类引用指向子类对象
Role b=new Master();//多态使程序的可扩充性增强。
a.fight();
b.fight();
}
}
这里的Soldier和Master继承了父类Role。然后在之后的运用里,直接把子类对象让父类引用指向,这里的a与b,虽然是父类,但是当用到方法的时候自然而然的用了子类的方法,这就是多态。挺简单吧。
这里看着简单,不过继承多态在java里也是尤为重要的,继承能有效的减少代码量,多态能使程序可扩充性增强。
而且继承多态在java里也是随处可见的。Object这个类就是所以java类的父类。
借用一句别人的话:编译看父类,运行看子类。