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