java虛擬機(jī):05_class類型對象(反射)

Class類型對象培廓,就是把java代碼的字符串晶默,解析成Class對象存起來涛救,可以單項(xiàng)取和操作。類似把student信息串解析成Student對象

對比項(xiàng) webdriver 反射
對象 driver class
獲取方式 new ChromeDriver() 類名.class
實(shí)例變量名.getClass()
類加載器:Class.forName("包名.類名")
處理元素 標(biāo)簽 包边败、類名、構(gòu)造器捎废、字段笑窜、方法、注解登疗、繼承的父類排截、實(shí)現(xiàn)的接口
封裝類 WebElement 包:Package
構(gòu)造器:Constructor
字段:Field
方法:Method
注解:Annotation
類、父類辐益、接口:Class
package com.guoyasoft;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

import com.guoyasoft.implement.Student;

public class ReflectMethon {
    public static void main(String[] args) throws Exception {
//      // 1断傲、獲取class對象
//      Class c1 = StudentWL.class;
//
//      StudentWL s = new StudentWL();
//      Class c2 = s.getClass();

        // 創(chuàng)新點(diǎn):允許啟動(dòng)程序的時(shí)候,可以沒有類智政,運(yùn)行過程中手動(dòng)加載到內(nèi)存
        Class c = Class.forName("com.guoyasoft.implement.StudentWL");

        // 2认罩、獲取包名,反射里面女仰,每一種java元素猜年,都會(huì)封裝成一個(gè)類
        Package p = c.getPackage();
        String packageName = p.getName();
        System.out.println("package name =" + packageName);

        // 3抡锈、獲取類名疾忍、父類和接口
        Class superClass = c;
        while (superClass != null) {
            System.out.println("super class =" + superClass.getName());
            superClass = superClass.getSuperclass();
        }

        Class[] interfaces = c.getInterfaces();
        for (Class c1 : interfaces) {
            System.out.println("接口名稱:" + c1.getName());
        }

        // 4、獲取構(gòu)造器床三、實(shí)例化
        Constructor constructor = c.getConstructor();
        Student wl = (Student) constructor.newInstance();

        // 5一罩、獲取字段、設(shè)置撇簿、取值
        Field[] fields = c.getFields();
        for (Field f : fields) {
            System.out.println("字段名:" + f.getType().getName() + " "
                    + f.getName());
        }
        
        Field name=c.getField("name");
        name.set(wl, "吳令");
        Field age=c.getField("age");
        age.set(wl, 23);
        System.out.println("反射設(shè)置:"+wl.toString());

        // 6聂渊、獲取方法
        Method[] methods = c.getDeclaredMethods();
        for (Method m : methods) {
            System.out.println("方法名:" + m.getReturnType().toString() + " "
                    + m.getName() + "(" + m.getParameterTypes() + ")");
        }
        
        Method doHomeWork=c.getMethod("doHomeWork", String.class);
        doHomeWork.invoke(wl, "反射調(diào)用method");
        
        Method learn=c.getMethod("learn", String.class);
        learn.invoke(wl, "法語");
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市四瘫,隨后出現(xiàn)的幾起案子汉嗽,更是在濱河造成了極大的恐慌,老刑警劉巖找蜜,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饼暑,死亡現(xiàn)場離奇詭異,居然都是意外死亡洗做,警方通過查閱死者的電腦和手機(jī)弓叛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诚纸,“玉大人撰筷,你說我怎么就攤上這事∑枧牵” “怎么了毕籽?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵抬闯,是天一觀的道長。 經(jīng)常有香客問我影钉,道長画髓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任平委,我火速辦了婚禮奈虾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘廉赔。我一直安慰自己肉微,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布蜡塌。 她就那樣靜靜地躺著碉纳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪馏艾。 梳的紋絲不亂的頭發(fā)上劳曹,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天,我揣著相機(jī)與錄音琅摩,去河邊找鬼铁孵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛房资,可吹牛的內(nèi)容都是我干的蜕劝。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼轰异,長吁一口氣:“原來是場噩夢啊……” “哼岖沛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搭独,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤婴削,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后牙肝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唉俗,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年惊奇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了互躬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,973評論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颂郎,死狀恐怖吼渡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乓序,我是刑警寧澤寺酪,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布坎背,位于F島的核電站,受9級特大地震影響寄雀,放射性物質(zhì)發(fā)生泄漏得滤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一盒犹、第九天 我趴在偏房一處隱蔽的房頂上張望懂更。 院中可真熱鬧,春花似錦急膀、人聲如沸沮协。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慷暂。三九已至,卻和暖如春晨雳,著一層夾襖步出監(jiān)牢的瞬間行瑞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工餐禁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留血久,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓坠宴,卻偏偏與公主長得像洋魂,于是被迫代替她去往敵國和親绷旗。 傳聞我的和親對象是個(gè)殘疾皇子喜鼓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容