1. 项目结构
2. 代码
package com;
public class Adapter implements Icat, Idog {
Icat cat=null;
Idog dog=null;
public Adapter(Icat cat) {
this.cat=cat;
}
public Adapter(Idog dog) {
this.dog=dog;
}
@Override
public void dogLooks() {
System.out.println("我是一只狗");
}
@Override
public void goujiao() {
cat.zhuoshu();
}
@Override
public void catLooks() {
System.out.println("我是一只猫");
}
@Override
public void zhuoshu() {
dog.goujiao();
}
}
package com;
public interface Icat {
public void catLooks();
public void zhuoshu();
}
package com;
public class IcatImpl implements Icat {
@Override
public void catLooks() {
System.out.println("我有猫的外表");
}
@Override
public void zhuoshu() {
System.out.println("我能抓老鼠");
}
}
package com;
public interface Idog {
public void dogLooks();
public void goujiao();
}
package com;
public class IdogImpl implements Idog {
@Override
public void dogLooks() {
System.out.println("我有狗的外表");
}
@Override
public void goujiao() {
System.out.println("我会狗叫");
}
}
package com;
public class Main {
public static void main(String[] args) {
//把狗设配成猫
Icat fakercat=new Adapter(new IdogImpl());
fakercat.catLooks();
fakercat.zhuoshu();
//把猫设配成狗
Idog fakerdog=new Adapter(new IcatImpl());
fakerdog.dogLooks();
fakerdog.goujiao();
}
}