多态性:动态绑定

多态性是指获得多种形态的能力。从OOP的角度来说,这意味着同一个方法名指向不同对象的多个方法。这是通过所谓的动态绑定完成的,一个即将执行的方法类型可以延迟到执行时再确定。

 1 public class Test
 2 {
 3     public static void main(String[] args)
 4     {
 5         A object = new A();
 6         object.process();
 7         object = new ExtA();
 8         object.process();
 9     }
10 }
11 class A
12 {
13     public void process()
14     {
15         System.out.println("Inside A");
16     }
17 }
18 class ExtA extends A
19 {
20     public void process()
21     {
22         System.out.println("Inside ExtA");
23     }
24 }
25 /**
26  * 输出结果为:
27  * Inside A
28  * Inside ExtA
29  */

对于接口:

 1 public class Test
 2 {
 3     public static void main(String[] args)
 4     {
 5         System.out.println("输出的结果是:");
 6         B object = new ImplB1();//此处声明为B 而不是ImplB1的好处。
 7         object.process();
 8         object = new ImplB2();
 9         object.process();
10     }
11 }
12 interface B
13 {
14     void process();
15 }
16 class ImplB1 implements B
17 {
18     public void process()
19     {
20         System.out.println("Inside ImplB1");
21     }
22 }
23 class ImplB2 implements B
24 {
25     public void process()
26     {
27         System.out.println("Inside ImplB2");
28     }
29 }
30 /**
31  * 输出的结果是:
32  * Inside ImplB1
33  * Inside ImplB2
34  */

 

posted @ 2013-11-08 10:05  soul390  阅读(247)  评论(0编辑  收藏  举报