//声明能拍照的工具类型 public interface Photographable { public void takePhoto(); } //声明照相机类Camera实现拍照接口 public class Camera implements Photographable {
@Override public void takePhoto() { System.out.println(this.getClass().getSimpleName() + " take photo"); } } //声明照手机类 Phone实现拍照接口 public class Phone implements Photographable {
@Override public void takePhoto() { System.out.println(this.getClass().getSimpleName() + " take photo"); } } //添加人类 public class Person { //照相的功能,用不同的设备去照相 public void takePhoto(Photographable photo){ photo.takePhoto(); } } //最后的测试类 public class Test {
public static void main(String[] args){ Person p = new Person(); p.takePhoto(new Camera()); p.takePhoto(new Phone()); } }