接口与具体的实现类之间也存在多态性
1 public class TestInterface{ 2 public static void main(String[] args){ 3 Duck d = new Duck(); 4 Testnterface.test3(d); 5 } 6 public void test1(Runner r){ // Runner r = new Duck(); 7 r.A(); // 虚拟方法调用 8 } 9 public void test2(Swimmer s){ // Swimmer s = new Duck(); 10 s.B(); 11 } 12 // 方法不依赖于某个对象 13 我们也可以设置为静态的 14 public static void test3(Filer f){ // Filer f = new Duck(); 15 f.C(); 16 } 17 18 } 19 20 interface Runner{ 21 void A(); 22 } 23 interface Swimmer{ 24 void B(); 25 } 26 interface Flier{ 27 void C(); 28 } 29 30 class Duck implements Runner,Swimmer,Filer{ 31 public void A(){ 32 ..... 33 } 34 public void B(){...} 35 public void C(){...} 36 }