<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            SUN認證考試知識點:Java反射機制的應用

            時間:2024-08-11 16:09:41 SUN認證 我要投稿
            • 相關推薦

            SUN認證考試知識點:Java反射機制的應用

              目標:用一個代理類實現兩個相似類的調用

            SUN認證考試知識點:Java反射機制的應用

              1.兩個相似類

              Man類

              Women類:

              代理類:

              package Reflect;

              import java.lang.reflect.Method;

              public class Person { //代理類

              private Object target; //目標對象

              private String methodName; //目標方法

              private Object[] params; //參數數組

              private Method method;

              public Object getTarget() {

              return target;

              }

              public void setTarget(Object target) {

              this.target = target;

              }

              public String getMethodName() {

              return methodName;

              }

              public void setMethodName(String methodName) {

              this.methodName = methodName;

              }

              public Object[] getParams() {

              return params;

              }

              public void setParams(Object[] params) {

              this.params = params;

              }

              public Person(){

              }

              /**

              * _重新設置目標方法

              */

              private void reSetMethod(String methodName){

              if(params!=null){ //目標方法有參數

              int paramsLength = params.length;

              Class[] paramsTypes = new Class[paramsLength];

              for(int i=0;i

              paramsTypes[i] = params[i].getClass();

              }

              try {

              method = target.getClass().getMethod(methodName,paramsTypes);

              } catch (SecurityException e) {

              e.printStackTrace();

              } catch (NoSuchMethodException e) {

              e.printStackTrace();

              }

              }

              else //目標方法參數為null

              {

              try {

              method = target.getClass().getMethod(methodName,null);

              } catch (SecurityException e) {

              e.printStackTrace();

              } catch (NoSuchMethodException e) {

              e.printStackTrace();

              }

              }

              }

              /**

              * _重新設置目標對象和方法

              */

              private void reSetTarget(Object target,String methodName){

              this.target = target;

              this.reSetMethod(methodName);

              }

              /**

              * _動態調用已綁定方法

              */

              public void doMethod() throws Exception{

              reSetTarget(target,methodName);

              this.method.invoke(target, params);

              }

              }

            【SUN認證考試知識點:Java反射機制的應用】相關文章:

            sun java認證考試介紹10-23

            Sun java認證考試答案11-06

            Sun Java認證考試科目08-30

            sun java認證考試報考指南10-18

            SUN JAVA認證介紹08-09

            SUN認證考試知識點:java servlet生命周期09-25

            Sun認證Java開發員考試介紹10-09

            sun認證考試:Java.io的使用08-23

            Sun Java認證考試教材教輔09-13

            Sun java認證考試真題答案09-25

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院