//1、定义一个接口TestFace public interface TestFace{//定一个接口 void make();//定义一个接口方法 } //2、定义一个类MyClass,里面包含一个接口型变量 public class MyClass{//定义一个类 TestFace tf;//定义一个接口型变量tf public MyClass(TestFace tf){//构造函数初始化接口型变量tf this.tf = tf; } public work(){ //函数调用 this.tf.make();//实际的接口型类实例。 } } //3、定义2个类,实现接口TestFace public class C1 implements TestFace{//定一个类C1实现接口TestFace public void make(){//实现接口的方法make System.out.println("c1");//打印c1 } } public class C2 implements TestFace{//定一个类C2实现接口TestFace public void make(){//实现接口的方法make System.out.println("c2");//打印c2 } } //4、使用接口变量 TestFace tf1 = new C1();//实现一个类实例C1 TestFace tf2 = new C2();//实现一个类实例C2 MyClass mc = MyClass(tf1);//定义一个MyClass的类实例,使用tf1 MyClass mc2 = MyClass(tf2);//定义一个MyClass的类实例,使用tf1 //同一个类的work,能够实现不同的打印内容 mc.work(); mc2.work();