java method是什么,讓我們一起了解一下?
method是使用Java的反射機(jī)制獲得指定類(lèi)中指定方法的對(duì)象,Method類(lèi)的對(duì)象可以是類(lèi)方法,也可以是實(shí)例方法,通過(guò)反射調(diào)用類(lèi)的私有方法時(shí),要先在這個(gè)私有方法對(duì)應(yīng)的 Method 對(duì)象上調(diào)用 setAccessible(true) 來(lái)取消對(duì)這個(gè)方法的訪問(wèn)檢查,再調(diào)用 invoke() 方法來(lái)執(zhí)行這個(gè)私有方法。
首先了解關(guān)于method的兩個(gè)概念:
1、參數(shù):是指進(jìn)入方法中的數(shù)據(jù),有了這些數(shù)據(jù),方法才能執(zhí)行邏輯。
2、返回值:是指從方法中出來(lái)的數(shù)據(jù),也就是方法執(zhí)行之后的最終結(jié)果數(shù)據(jù)。
獲得method對(duì)象:
1、args為指定方法傳遞的參數(shù)值,是一個(gè)可變參數(shù)。
2、invoke() 方法的返回值為動(dòng)態(tài)調(diào)用指定方法后的實(shí)際返回值。
實(shí)戰(zhàn)操作:method如何傳參?
package?cn.qile.method; //測(cè)試方法的使用 public?class?Test1_Method?{ ????public?static?void?main(String[]?args)?{ //?????System.out.println(1); //?????method();//1、方法間的調(diào)用 //?????System.out.println(2); ???????? ????????method2(10);//2、方法間的傳參,調(diào)用時(shí)傳的參數(shù)---實(shí)參 ????????method3("10",5);//2.1、傳多個(gè)參數(shù),逗號(hào)隔開(kāi) ????} ???? ???? ????//TODO?創(chuàng)建method3("jack",5)?參數(shù)類(lèi)型??參數(shù)名---形參 ????//其中,參數(shù)類(lèi)型必須和調(diào)用時(shí)的參數(shù)類(lèi)型一致 ????public?static?void?method3(String?n,int?a)?{ ???????? ????????//+是做字符串的拼接,兩個(gè)數(shù)字之間+用來(lái)做加法運(yùn)算 ????????//只要有字符串類(lèi)型的用+都是拼接字符串 ????????System.out.println(n+a);//105 ????} ???? ????//TODO?創(chuàng)建method2(10) ????//方法的修飾符?方法的返回值??方法的名字(?參數(shù)類(lèi)型?參數(shù)名?)?{??代碼/方法體??} ????public?static?void?method2(int?number)?{ ????????System.out.println(number); ????} ???? ????//創(chuàng)建method() ????//方法的修飾符?方法的返回值??方法的名字(?參數(shù)列表?)?{??代碼/方法體??} ????public?static?void?method()?{ ????????System.out.println(3); ????????System.out.println(4); ????????System.out.println(5); ????} ???? }
以上就是小編今天的分享了,希望可以幫助到大家。