「Android/クラスを動的に読み込む」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==動的にクラスを読み込む== -SampleFactory.java try { // 同一ライブラリの場合 // Class clazz = Class.forName(Sample1.class.getPackage().get...」) |
(相違点なし)
|
2016年12月8日 (木) 16:11時点における版
動的にクラスを読み込む
-SampleFactory.java
try { // 同一ライブラリの場合 // Class clazz = Class.forName(Sample1.class.getPackage().getName() + ".Sample1"); // 別のライブラリの場合でもok Class clazz = Class.forName("jp.co.example.Sample1"); Object worker = clazz.newInstance(); if(worker instanceof Sample1) { return (Sample1)worker; } } catch (Exception e) { ; }
別ライブラリの場合は
classがpublicになっているか&constructがpublicになっているかを確認する