日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 反射获取对象_使用Java反射机制获取对象

發布時間:2024/7/23 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 反射获取对象_使用Java反射机制获取对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文由廣州瘋狂軟件教育java培訓分享:

構造接口Person,所有Person都會問好,但具體講什么語言就不知道了!

package interf;

public interface Person {

public void sayHello();

}

構造一個Person的實現類American,問好的時候講英語

package interf;

public class American implements Person {

@Override

public void sayHello() {

System.out.println("Hello,I'm American!");

}

}

構造一個Person的實現類Chinese,問好的時候講中文

package interf;

public class Chinese implements Person {

public void sayHello() {

System.out.println("你好,我是中國人!");

}

//重寫sayHello方法

public void sayHello(String language) {

this.language=language;

System.out.println("你好,我用"+language+"問好!");

}

}

package interf;

import org.junit.*;

public class PersonTest {

public void Test() throws ClassNotFoundException, InstantiationException,

IllegalAccessException {

//第一種方式,直接new

Person p = new Chinese();

p.sayHello();

//第二種方式,采用反射機制獲取對象

//Class> c = Class.forName("interf.Chinese");

Class> c = Class.forName("interf.American");

System.out.println("Chinese類全名:"+Chinese.class.getSimpleName());

System.out.println("Chinese類名:"+Chinese.class.getName());

Person p3 = (Person)c.newInstance();

p3.sayHello();

try {

Constructor> constructor = Chinese.class.getConstructor(); //獲取構造方法

Chinese chineseReflect = (Chinese) constructor.newInstance(); //創建對象

Method method = Chinese.class.getMethod("sayHello",String.class); //獲取方法

method.invoke(chineseReflect, "中文"); //調用方法

Field field = Chinese.class.getField("language"); //獲取域

System.out.println("Reflect -> " + field.get(chineseReflect)); //獲取域的值

} catch (Exception e) {

e.printStackTrace();

}

}

}

test結果如下:

你好,我是中國人,我用中文

Chinese類全名:Chinese

Chinese類名:interf.Chinese

Hello,I'm American!

你好,我用中文問好!

Reflect -> 中文

瘋狂軟件教育中心依托開發團隊的強大技術實力,把企業最新技術融入實訓課程,打造金牌的品質,才能給予學員黃金的未來,瘋狂軟件憑借過硬的技術實力與豐富的項目開發經驗,贏得了社會的肯定。瘋狂軟件Java培訓師資力量強大,課程內容深入,為學員高薪就業做了很好的鋪墊,擁有豐富就業指導經驗的就業團隊也成為了學員高薪就業的先天優勢。地址:廣州天河區車陂灃宏大廈3樓

總結

以上是生活随笔為你收集整理的java 反射获取对象_使用Java反射机制获取对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。