源文件:Fruit.java
public class Fruit {
public void shouMe(){
System.out.println("我是水果");
}
}
在定义几个Fruit的子类:
public class Apple extends Fruit{
public void shouMe(){
System.out.println("我是苹果");
}
<pre name="code" class="java">public class Banana extends Fruit{
public void shouMe(){
System.out.println("我是香蕉");
}
}
public class Pear extends Fruit{
public void shouMe(){
System.out.println("我是梨");
}
}
定义一个测试类:Test.java
public class Test {
//定义一个有参方法 调用Fruit的shouMe()方法
public static void shouMe(Fruit a){
a.shouMe();
}
public static void main(String[] args) {
//new 一个Apple(),<span style="font-family: Arial, Helvetica, sans-serif;">把Apple传个shouMe();</span>
Fruit a=new Apple();
shouMe(a);
//new 一个Pear(),<span style="font-family: Arial, Helvetica, sans-serif;">把Apple传个shouMe();</span>
Fruit p=new Pear();
shouMe(p);
//new 一个Banana(),<span style="font-family: Arial, Helvetica, sans-serif;">把Apple传个shouMe();</span>
Fruit b=new Banana();
shouMe(b);
}
}
所谓多态,实际上就是一个对象的多种状态,在例子里
Apple 可以看作Apple,也可以看作Fruit
Pear 可以看作Pear ,也可以看作Fruit
Banana 可以看作Banana,也可看作Fruit
Apple、Pear、Banana都是Fruit的几种状态,这就是Fruit多态。