接口和工厂

接口和工厂 创建两个接口

 一个接口内返回另一个接口类型的方法(类似于组合)


interface Cycle {
	int wheels();
}

interface CycleFactory {
	Cycle factory();
}

class Cycle1 implements Cycle {

	public int wheels() {

		return 2;
	}

}

class CycleFactory1 implements CycleFactory {

	public Cycle factory() {

		return new Cycle1();
	}

}

class Cycle2 implements Cycle {

	public int wheels() {

		return 4;
	}

}

class CycleFactory2 implements CycleFactory {

	public Cycle factory() {

		return new Cycle2();
	}

}

public class interface_and_factory {

	Cycle c1, c2;

	public static void main(String[] args) {
		interface_and_factory i = new interface_and_factory();
		CycleFactory cFactory1 = new CycleFactory1();
		i.c1 = cFactory1.factory();

		CycleFactory cFactory2 = new CycleFactory2();
		i.c2 = cFactory2.factory();
		System.out.println("1号工厂生产一辆车" + i.c1 + " 轮子 = " + i.c1.wheels()); //i.c1是一个内存地址 可通过重写toString方法返回字符串
		System.out.println("2号工厂生产一辆车" + i.c2 + "  轮子 =" + i.c2.wheels());

	}
}


结果:                                    (内存地址)

1号工厂生产一辆车   Number_nine.Cycle1@1db9742     轮子 = 2
2号工厂生产一辆车   Number_nine.Cycle2@106d69c     轮子 =4


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值