public class Main { public static void main(String[] args) { try { System.out.println(">>>通常の場合"); FreeSoft freeSoft = new FreeSoft(); freeSoft.setName("Chat&Messenger チャットもメッセンジャーも!!"); freeSoft.showName(); freeSoft.showPrice(0); System.out.println(">>>リフレクションを使用した場合"); // FreeSoftクラスのインスタンス生成 Object invokeObject = BeanUtil.newInstance("FreeSoft"); // nameフィールドに値をセットする。 BeanUtil.setProperty(invokeObject, "name", "Chat&Messenger チャットもメッセンジャーも!!"); // FreeSoftのshowName()メソッドを実行します。 BeanUtil.invoke(invokeObject, "showName", null); // FreeSoftのshowPrice()メソッドを実行します。 // メソッドに引数がある場合はObject型の配列で渡す必要がある。 BeanUtil.invoke(invokeObject, "showPrice", new Object[] { new Integer(0) }); } catch (Exception e) { e.printStackTrace(); } } }