?? factorydemo03.java
字號(hào):
package org.jzkangta.factorydemo03;
interface Person{
public void eat();
public void talk();
}
//男人
class Man implements Person{
public void eat(){
System.out.println("男人再吃東西。。。。");
}
public void talk(){
System.out.println("男人在說話。。。。");
}
}
//女人
class Woman implements Person{
public void eat(){
System.out.println("女人再吃東西。。。。");
}
public void talk(){
System.out.println("女人在說話。。。。");
}
}
interface Animal{
public void eat();
public void sleep();
}
//公牛
class Bull implements Animal{
public void eat(){
System.out.println("Bull再吃東西。。。。。");
}
public void sleep(){
System.out.println("Bull睡覺了。。。。");
}
}
//母牛
class Cow implements Animal{
public void eat(){
System.out.println("Cow再吃東西。。。。。");
}
public void sleep(){
System.out.println("Cow睡覺了。。。。");
}
}
//NWFactory-->女媧
interface NWFactory{
public Person getPerson(String type);
public Animal getAnimal(String type);
}
//陽繩-->用來造男人和雄性動(dòng)物(Bull)
class YangSheng implements NWFactory{
Man m=null;
Bull b=null;
public Man getPerson(String type){
try {
m=(Man)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return m;
}
public Bull getAnimal(String type){
try {
b=(Bull)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return b;
}
}
//陰繩-->用來造女人和雌性動(dòng)物(Cow)
class YinSheng implements NWFactory{
Woman w=null;
Cow c=null;
public Woman getPerson(String type){
try {
w=(Woman)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return w;
}
public Cow getAnimal(String type){
try {
c=(Cow)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return c;
}
}
public class FactoryDemo03 {
public static void main(String[] args) {
//實(shí)例化一個(gè)陽繩,ys
YangSheng ys=new YangSheng();
//實(shí)例化一個(gè)陰繩,ys1
YinSheng ys1=new YinSheng();
//造男人和女人,p1是男人,p2是女人
Person p1=ys.getPerson("Man");
Person p2=ys1.getPerson("Woman");
//造動(dòng)物,a1是公牛(Bull),a2是母牛(Cow)
Animal a1=ys.getAnimal("Bull");
Animal a2=ys1.getAnimal("Cow");
a1.eat();
a1.sleep();
a2.eat();
a2.sleep();
p1.eat();
p1.talk();
p2.eat();
p2.talk();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -