<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看