多态和继承有着不可分割的联系。(个人感觉用语言很难描述,代码更直观)
多态是对继承的一种应用,也是体现继承能力的一种方法。
在java文件中可以在建立父类和子类之后在子类中将父类的方法重写,然后在应用时建立一个传父类类型参数的方法1,然后在主函数中建立一个子类对象,调用刚刚建立的方法1并将该子类对象传入。
之后在方法1中所用到的父类的方法都会被替换成子类重写过的或未重写过的方法。
也就是说可以在建立方法1时,给个模糊操作,调用传入的父类的方法,该方法可能被之后传进来的对象的类重写过。执行时会根据具体的传入的对象的类型的不同,进行具体的操作。
代码如下:
1、
package polymorphism;
public class Polymorphism_method {
public void speak(){
System.out.println("hhhhhhh");
}
}
class you extends Polymorphism_method{
public void speak(){
System.out.println("hellow,how are you!");
}
}
class me extends Polymorphism_method{
public void speak(){
System.out.println("i'm fine,thank you!");
}
}
2、
package polymorphism;
public class Go_Polymorphism {
public static void execute (Polymorphism_method a){
a.speak();
}
public static void main(String[] args) {
Polymorphism_method p = new Polymorphism_method();
you y = new you();
me m = new me();
execute (p);
execute (y);
execute (m);
}
}
结果如下图: