「Android/クラスを動的に読み込む」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==動的にクラスを読み込む== -SampleFactory.java try { // 同一ライブラリの場合 // Class clazz = Class.forName(Sample1.class.getPackage().get...」) |
(→別ライブラリの場合は) |
||
行15: | 行15: | ||
==別ライブラリの場合は== | ==別ライブラリの場合は== | ||
− | + | 以下2つを確認する | |
+ | *classがpublicになっているか | ||
+ | *constructがpublicになっているか |
2016年12月8日 (木) 16:13時点における最新版
動的にクラスを読み込む
-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) { ; }
別ライブラリの場合は
以下2つを確認する
- classがpublicになっているか
- constructがpublicになっているか