package exer1; public class TestInterface { public static void main(String[] args) { Duck d=new Duck(); //把接口的声明设置为static的,然后不用创建对象,直接用类来调用 TestInterface.test1(d); TestInterface.test2(d); TestInterface.test3(d); } //创建接口的声明 public static void test1(Swimming s){//Swimming s=new Duck();实现了接口与具体的实现类之间的多态性 s.swim();//虚拟方法调用 } public static void test2(Fly f){//Fly f=new Duck(); f.fly(); } public static void test3(Runner r){//Runner r=new Runner(); r.run(); } } interface Swimming{ public abstract void swim(); } interface Fly{ public abstract void fly(); } interface Runner{ public abstract void run(); } //这里如果Duck没有都实现上面的 Swimming,Fly,Runner,可以将其设置为abstract class Duck implements Swimming,Fly,Runner{ public void swim(){ System.out.println("鸭子游泳"); } public void fly(){ System.out.println("鸭子飞"); } public void run(){ System.out.println("鸭子跑"); } }