package factory; public abstract class Factory { public static Factory getFactory(String classname) { Factory factory = null; try { factory = (Factory)Class.forName(classname).newInstance(); } catch (ClassNotFoundException e) { System.err.println("クラス " + classname + " が見つかりません。"); } catch (Exception e) { e.printStackTrace(); } return factory; } public abstract Link createLink(String caption, String url); public abstract Tray createTray(String caption); public abstract Page createPage(String title, String author); }
上記のコードの
factory = (Factory)Class.forName(classname).newInstance();
の部分について疑問があります。
このコードはnewInstance()で返されるObjectインスタンスを
Factoryにキャストすることを想定していると思うのですが、
キャスト演算子はオペレーターや括弧が途中にない限り、
最後に発動するのですか?
キャスト演算子の発動タイミングを具体的に知らないので
教えて頂きたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/17 15:45