導航:首頁 > 方法技巧 > java公共方法參數如何抽取

java公共方法參數如何抽取

發布時間:2023-01-04 13:14:03

❶ Java如何獲取方法的參數名稱

package test;

import java.lang.reflect.Method;

public class TTT {
public static void main(String[] args) {
Class c = Test.class;
Method[] methods =c.getDeclaredMethods();
for (Method method : methods) {
System.out.print("方法的返回值"+method.getReturnType().getName());
System.out.print(" 方法名:"+method.getName()+"(");
Class[] paraTypes = method.getParameterTypes();
for (Class class1 : paraTypes) {
System.out.print("參數類型:"+class1.getSimpleName()+",");
}
System.out.println(")");
}

}
}

class Test
{
public void say(String word)
{
System.out.println(word);
}

public void say(String word,int n)
{
for(int i=0;i<n;i++){

System.out.println(word);
}
}

}
===============

方法的返回值void 方法名:say(參數類型:String,)
方法的返回值void 方法名:say(參數類型:String,參數類型:int,)

怎麼在java方法內部獲得給方法的參數列表。

Class<?>[] paramsClass = method.getParameterTypes();
取得參數列表的所有類型,這個是按這個方法的參數列表的順序給出參數的類型的,有了這個類型就可以了呀,不需要參數名稱;

❸ java中好幾個不同的實體類要調用某個公共的方法,公共方法的參數怎麼寫。

因為,A,B,C沒有繼承公共超類,也沒有實現公共介面,可以考慮使用泛型解決:
class 公共方法
{
public <U> void 方法1(Class<U> cls,U obj)
{
U o=cls.cast(obj);
//調用o的方法
}
}
則這樣使用這個類:
公共方法 cf=new 公共方法();
A a=new A();
cf.方法1(A.class,a);
B b=new B();
cf.方法1(B.class,b);

❹ java 什麼是把方法抽取出來

就是重構->抽取方法,簡單來說就是把部分相關代碼抽取出來成為一個方法,原來代碼的位置改由調用該方法來代替。
如果你使用如Eclipse這種IDE,你可以通過選擇要抽取的代碼,滑鼠右鍵選擇重構->抽取方法,按照步驟給方法命名,確認,IDE就會幫你自動地把代碼抽取出來形成一個私有的方法,原來的位置就會被調用這個方法的代碼代替。
雖然操作步驟很簡單,也就是把代碼換個位置寫,但實際隱含著程序設計的合理性和細粒度的考慮:
很明顯你的代碼里有超長的方法,一般方法會控制在10行以內,超過10行就可以認為有代碼是可以提取出來成為公用方法的。超長的方法常常意味著高耦合、低內聚,重用性差和該類的職責太多。舉個例子:
你的Servlet方法可能幹了很多響應用戶的操作,但有可能Servlet的另一個方法需要做其中一部分相同的操作,或者另外一個Servlet(一個Web應用有多個Servlet很正常)也需要同樣的操作,更甚是一個本地的控制台應用程序(Servlet是屬於會話層的,桌面應用程序一般不需要會話層)也需要做同樣操作。這時候你會發現寫在你的Servlet的代碼只能拷貝到另一個程序中,或者壓根就得重寫,效率很低而且這樣你的代碼里會有很多重復代碼...以後改一下就得改3個地方,不可維護的代碼就是這樣來的。同時你的超長方法也是難以理解的。
如何把握好程序的合理性需要很多的經驗和設計技巧,這里就不提及了。有興趣可以向著面向對象程序設計這個方向鑽研。

❺ java怎麼獲取方法參數名

在java中,可以通過反射獲取到類、欄位、方法簽名等相關的信息,像方法名、返回值類型、參數類型、泛型類型參數等,但是不能夠獲取方法的參數名。在實際開發場景中,有時需要根據方法的參數名做一些操作,比如像spring-mvc中,@RequestParam、@PathVariable註解,如果不指定相應的value屬性,默認就是使用方法的參數名做為HTTP請求的參數名,它是怎麼做到的呢?
在這樣情況下,有兩種方法獲取方法來解決這種需求,第一種方法是使用註解,在註解中指定對應應的參數名稱,在需要使用參數名稱時,獲取註解中相應的值即可。第二種方法是從位元組碼中獲取方法的參數名,但是這有一個限制,只有在編譯時使用了-g或-g:vars參數生成了調試信息,class文件中才會生成方法參數名信息(在本地變數表LocalVariableTable中),而使用-g:none方式編譯的class文件中是沒有方法參數名信息的。所以要想完全不依賴class文件的編譯模式,就不能使用這種方式。

閱讀全文

與java公共方法參數如何抽取相關的資料

熱點內容
水準計算方法定義 瀏覽:203
如何排肺毒最有效的方法 瀏覽:480
跨欄跑過欄技術實踐教學方法 瀏覽:473
怎麼殺老甲魚最有效方法 瀏覽:672
怎樣快速通便拉得又多土方法 瀏覽:84
藍凈靈的使用方法 瀏覽:335
廣東pvc木飾面安裝方法 瀏覽:183
公司管理方法叫什麼 瀏覽:14
鑒別紅薯最好的方法 瀏覽:877
4g手機電話轉移在哪裡設置方法 瀏覽:428
禁食水的正確使用方法 瀏覽:436
水泥膨脹劑的使用方法 瀏覽:465
怎麼教股票開盤方法 瀏覽:674
582減198簡便方法 瀏覽:432
問題要有解決方法的名言 瀏覽:545
剩米飯和豆皮怎麼做好吃簡單方法 瀏覽:179
口才訓練16種方法 瀏覽:653
帶圓弧角正方形的周長尺寸計算方法 瀏覽:286
環境空氣中乙酸乙酯的檢測方法 瀏覽:105
兒童跳高鍛煉方法視頻 瀏覽:741