//1、定義一個(gè)接口TestFace public interface TestFace{//定一個(gè)接口 void make();//定義一個(gè)接口方法 } //2、定義一個(gè)類MyClass,里面包含一個(gè)接口型變量 public class MyClass{//定義一個(gè)類 TestFace tf;//定義一個(gè)接口型變量tf public MyClass(TestFace tf){//構(gòu)造函數(shù)初始化接口型變量tf this.tf = tf; } public work(){ //函數(shù)調(diào)用 this.tf.make();//實(shí)際的接口型類實(shí)例。 } } //3、定義2個(gè)類,實(shí)現(xiàn)接口TestFace public class C1 implements TestFace{//定一個(gè)類C1實(shí)現(xiàn)接口TestFace public void make(){//實(shí)現(xiàn)接口的方法make System.out.println("c1");//打印c1 } } public class C2 implements TestFace{//定一個(gè)類C2實(shí)現(xiàn)接口TestFace public void make(){//實(shí)現(xiàn)接口的方法make System.out.println("c2");//打印c2 } } //4、使用接口變量 TestFace tf1 = new C1();//實(shí)現(xiàn)一個(gè)類實(shí)例C1 TestFace tf2 = new C2();//實(shí)現(xiàn)一個(gè)類實(shí)例C2 MyClass mc = MyClass(tf1);//定義一個(gè)MyClass的類實(shí)例,使用tf1 MyClass mc2 = MyClass(tf2);//定義一個(gè)MyClass的類實(shí)例,使用tf1 //同一個(gè)類的work,能夠?qū)崿F(xiàn)不同的打印內(nèi)容 mc.work(); mc2.work();