锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
interface Car {
public void start();
public void stop();
}
class Benz implements Car {
public void start() {
System.out.println("Benz寮鍔ㄤ簡銆傘傘傘?/span>");
}
public void stop() {
System.out.println("Benz鍋滆濺浜嗐傘傘?/span>");
}
}
class Ford implements Car {
public void start() {
System.out.println("Ford寮鍔ㄤ簡銆傘傘傘?/span>");
}
public void stop() {
System.out.println("Ford鍋滆濺浜嗐傘傘?/span>");
}
}
class BigBus implements Car {
public void start() {
System.out.println("澶у反寮杞︿簡銆傘傘傘?/span>");
}
public void stop() {
System.out.println("澶у反鍋滆濺浜嗐傘傘傘?/span>");
}
}
class MiniBus implements Car {
public void start() {
System.out.println("灝忓反寮杞︿簡銆傘傘傘?/span>");
}
public void stop() {
System.out.println("灝忓反鍋滆濺浜嗐傘傘傘?/span>");
}
}
//鎶借薄宸ュ巶
interface AbstractFactory {
}
//鍏蜂綋灝忔苯杞﹀伐鍘?/span>
class CarFactory implements AbstractFactory {
public Car getCar(String type) {
Car c = null;
try {
c = (Car) Class.forName("org.jzkangta.factorydemo02." + type)
.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return c;
}
}
//鍏蜂綋鍏叡姹借濺宸ュ巶
class BusFactory implements AbstractFactory {
public Car getBus(String type) {
Car c = null;
try {
c = (Car) Class.forName("org.jzkangta.factorydemo02." + type)
.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return c;
}
}
public class FactoryDemo {
public static void main(String[] args) {
// CarFactory cf=new CarFactory();
BusFactory bf = new BusFactory();
Car c = null;
// c=cf.getCar("Benz");
c = bf.getBus("BigBus");
c.start();
c.stop();
}
}
interface Car {
public void run();
public void stop();
}
class Benz implements Car {
public void run() {
System.out.println("Benz寮濮嬪惎鍔ㄤ簡");
}
public void stop() {
System.out.println("Benz鍋滆濺浜?/span>");
}
}
class Toyota implements Car {
public void run() {
System.out.println("Toyota鍚姩浜?/span>");
}
public void stop() {
System.out.println("Toyota鍋滆濺浜?/span>");
}
}
class Ford implements Car {
public void run() {
System.out.println("Ford寮濮嬪惎鍔ㄤ簡");
}
public void stop() {
System.out.println("Ford鍋滆濺浜?/span>");
}
}
class Factory {
public static Car getCarInstance(String type) {
Car c = null;
try {
// 鍒╃敤java鐨勫弽灝勬満鍒?/span>
c = (Car) Class.forName("com.tanm.factoryDemo." + type)
.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return c;
}
}
public class FactoryDemo {
public static void main(String[] args) {
Car c = Factory.getCarInstance("Toyota");
if (c != null) {
c.run();
c.stop();
} else {
System.out.println("閫犱笉浜嗚繖縐嶆苯杞?/span>");
}
}
}
package com.tanm.singleton;
//鍗曚緥妯″紡
class Single {
private Single(){
}
//璁劇疆private涓虹被閮ㄧ鏈?/span>,澶栭儴涓嶈兘璁塊棶
//single鍙橀噺璁句負static,鏄潤鎬佸彉閲?/span>,鍥頒負static鏂規硶瑕佽皟鐢?/span>single
//single鍙橀噺璁句負final,琛ㄧずsingle鏄父閲忎笉鍙慨鏀?/span>
private static final Single single = new Single();
//static鏂規硶getSingleInstance(),涓嶇敤瀹炰緥鍖栧璞″氨鍙互璋冪敤Single.getSingleInstance()
public static Single getSingleInstance(){
return single;
}
public void Say() {
System.out.println("紼嬪簭璋冪敤寮濮?/span>......");
}
}
//嫻嬭瘯綾?/span>
public class SingletonDemo {
public static void main(String[] args) {
Single s = Single.getSingleInstance();
s.Say();
}
}