標籤:應用 span 源碼 rgs catch method extends androi create
No1:
對於一個應用程式來說,其真正的入口是在ActivityThread類中,ActivityThread中含有我們熟悉的main方法。ActivityThread是一個final類,不能被繼承。當Zygote進程孵化出一個新的應用進程猴,會執行ActivityThread的main方法,main方法中做了一些比較常規的邏輯,比如準備Looper和訊息佇列,然後調用ActivityThread的attach方法將其綁定到ActivityManagerService中,開始不斷地讀取訊息佇列中的訊息並分發訊息。
No2:
public abstract class Factory{ /** * 抽象Factory 方法 * 具體生產什麼由子類去實現 */ public abstract <T extends Product> T createProduct(Class<T> clz);}public class ConcreteFactory extends Factory{ @Override public <T extends Product> T createProduct(Class<T> clz){ Product p = null; try{ p = (Product)Class.forName(clz.getName).newInstance(); }catch(Exception e){ e.printStackTrace(); } return (T)p; }}public class Client{ public static void main(String[] args){ Factory factory = new ConcreteFactory(); Product p = factory.createProduct(ConcreteProductB.class); p.method(); }}
No3:
缺點:每次我們為Factory 方法模式添加新的產品時就要編寫一個新的產品類,同時還要引入抽象層,這必然會導致類結構的複雜化。
《Android源碼設計模式》--Factory 方法模式