图解如下:(代码在最后)
我们先看看具体结构:
代码来了~
- 首先接口类
package com.Design1.Factory.Impl;
public interface Animal {
public void eat();
public void sleep();
}
- 具体类实现接口方法
- Cat类
package com.Design1.Factory.Animal;
import com.Design1.Factory.Impl.Animal;
public class Cat implements Animal {
@Override
public void eat() {
System.out.println("我是Cat----我会吃");
}
@Override
public void sleep() {
System.out.println("我是Cat----我会吃");
}
}
- Dog类
package com.Design1.Factory.Animal;
import com.Design1.Factory.Impl.Animal;
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("我是Dog----我会吃");
}
@Override
public void sleep() {
System.out.println("我是Dog----我会睡觉");
}
}
- 工厂类
package com.Design1.Factory;
import com.Design1.Factory.Animal.Cat;
import com.Design1.Factory.Animal.Dog;
import com.Design1.Factory.Impl.Animal;
public class Factory {
public Animal get(String a){
if(a.equals("cat")){
return new Cat();
}
else if(a.equals("dog")){
return new Dog();
}
return null;
}
}
- DEMO
package com.Design1.Factory;
import com.Design1.Factory.Impl.Animal;
public class FactoryDemo {
public static void main(String[] args) {
Factory factory = new Factory();
Animal animal= factory.get("cat");
animal.eat();
}
}
输出结果:
我是Cat----我会吃