java判斷某個時間是否在規定的區段裡面
阿新 • • 發佈:2022-04-18
package com.life.design.flyweight; public abstract class WebSite { public abstract void use(String name);//抽象方法 }
package com.life.design.flyweight; //具體網站 public class ConcreteWebSite extends WebSite { //共享的部分,內部狀態 private String type = ""; //網站釋出的形式(型別) //構造器 public ConcreteWebSite(String type) {this.type = type; } @Override public void use(String name) { System.out.println("網站的釋出形式為:" + type + " 在使用中 .. 使用者是" + name); } }
package com.life.design.flyweight; import java.util.HashMap; // 網站工廠類,根據需要返回壓一個網站 public class WebSiteFactory { //集合, 充當池的作用 private HashMap<String, ConcreteWebSite> pool = newHashMap<>(); //根據網站的型別,返回一個網站, 如果沒有就建立一個網站,並放入到池中,並返回 public WebSite getWebSiteCategory(String type) { if(!pool.containsKey(type)) { //就建立一個網站,並放入到池中 pool.put(type, new ConcreteWebSite(type)); } return (WebSite)pool.get(type); } //獲取網站分類的總數 (池中有多少個網站型別)public int getWebSiteCount() { return pool.size(); } }
package com.life.design.flyweight; public class Client { public static void main(String[] args) { // 建立一個工廠類 WebSiteFactory factory = new WebSiteFactory(); // 客戶要一個以新聞形式釋出的網站 WebSite webSite1 = factory.getWebSiteCategory("新聞"); webSite1.use("tom"); // 客戶要一個以部落格形式釋出的網站 WebSite webSite2 = factory.getWebSiteCategory("部落格"); webSite2.use("jack"); // 客戶要一個以部落格形式釋出的網站 WebSite webSite3 = factory.getWebSiteCategory("部落格"); webSite3.use("smith"); // 客戶要一個以部落格形式釋出的網站 WebSite webSite4 = factory.getWebSiteCategory("部落格"); webSite4.use("king"); System.out.println("網站的分類共=" + factory.getWebSiteCount()); } }