中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中怎么通過反射創建對象并調用

發布時間:2021-07-28 16:25:24 來源:億速云 閱讀:173 作者:Leah 欄目:編程語言

java中怎么通過反射創建對象并調用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.用戶類

package com.lf.entity;import com.lf.annotation.SetProperty;import com.lf.annotation.SetTable;public class UserEntity {  private String userName;  private int userAge;  private final int money = 10000;  public String getUserName() {    return userName;  }  public void setUserName(String userName) {    this.userName = userName;  }  public int getUserAge() {    return userAge;  }  public void setUserAge(int userAge) {    this.userAge = userAge;  }  //借錢方法  public int getMoney(){    System.out.println("你借了 " + money + "元!");    return money;  }  //還錢方法,單個參數  public void repay(int money){    System.out.println("你還了 " + money + "元!");  }  //還錢方法,多個參數  public void repay(String userName,int money){    System.out.println(userName+ " 還了 " + money + "元!");  }}

2.測試類

package com.lf.test;import java.lang.reflect.Method;import com.lf.entity.UserEntity;public class Reflection {  //反射調用方法獲取返回值  //第一種方法,獲取對象,直接通過對象調用方法  //第二種方法,通過方法名獲取方法,執行方法  public static void main(String[] args) throws Exception {    Class<?> userClass = Class.forName("com.lf.entity.UserEntity");    UserEntity userEntity = (UserEntity) userClass.newInstance();    //第一種方法    System.out.println("第一次借錢:");    int money = userEntity.getMoney();    System.out.println("實際拿到錢為: " + money);    System.out.println("------------------------分割線------------------------");    //第二種方法,(無參的示例:借錢)    System.out.println("第二次借錢:");    Method getMoney = userClass.getMethod("getMoney");//得到方法對象    Object money2 = getMoney.invoke(userEntity);//調用借錢方法,得到返回值    System.out.println("實際拿到錢為:" + money2);    System.out.println("------------------------分割線------------------------");    //第二種方法,(單個參數的示例:還錢)    System.out.println("第一次還錢:");    Method repay1 = userClass.getMethod("repay",int.class);//得到方法對象,有參的方法需要指定參數類型    repay1.invoke(userEntity,3000);//執行還錢方法,有參傳參    System.out.println("------------------------分割線------------------------");    //第二種方法,(單個參數的示例:還錢)    System.out.println("第二次還錢:");    Method repay2 = userClass.getMethod("repay", String.class,int.class);//得到方法對象,有參的方法需要指定參數類型    repay2.invoke(userEntity,"小飛",5000);//執行還錢方法,有參傳參  }}

看完上述內容,你們掌握java中怎么通過反射創建對象并調用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伊吾县| 紫云| 体育| 双流县| 南投市| 阳西县| 商城县| 无极县| 台东县| 彭泽县| 楚雄市| 诏安县| 丹凤县| 通辽市| 南雄市| 葵青区| 手机| 福鼎市| 申扎县| 鄯善县| 永和县| 丽水市| 青州市| 新野县| 江津市| 邹城市| 思南县| 东明县| 常熟市| 葵青区| 黄龙县| 峡江县| 二手房| 揭西县| 盐山县| 乐都县| 盱眙县| 潞西市| 铜山县| 新密市| 江门市|